time="2025-04-29T08:06:02Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion" Container integration-test-authentication-1 Creating Container integration-test-federation-1 Creating Container integration-test-authorization-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Created Container integration-test-device-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-04-29T08:06:50Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:59776","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-29T08:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:59776","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.327528,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:06:50Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1745914010.7824402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1745914010.782509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1745914010.7825189} 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":1745914010.7825444} 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":1745914010.7825575} 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":1745914010.7825856,"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":1745914010.7829878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1745914010.784127} 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:51628","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-29T08:06:50.819824852Z","id":"01JT09B763EF8HN97QY3KR21TC","name":"crosslab","updated_at":"2025-04-29T08:06:50.819824852Z"},"request_id":"f989212d-d867-4018-bebc-e27baff227b4","subsystem":"openfga","timestamp":1745914010.819984} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} 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:51628","raw_request":{"schema_version":"1.1","store_id":"01JT09B763EF8HN97QY3KR21TC","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JT09B77S1NKW535A2PYA3DWT"},"request_id":"832299ec-658c-4541-9963-bc637d6cdeec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914010.8739376} authorization-1 | {"client_addr":"127.0.0.1:59776","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-29T08:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:59776","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.171145,"resp_status":204,"subsystem":"opa","time":"2025-04-29T08:06:50Z"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.3.0/opa_linux_amd64","latest_version":"1.3.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.3.0","subsystem":"opa","time":"2025-04-29T08:06:51Z"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} gateway-1 | {"time_local":"29/Apr/2025:08:07:09 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1ace300b13593b6a79f7e4bb1ce418c1"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 7ms","method":"HEAD","requestID":"1ace300b13593b6a79f7e4bb1ce418c1","responseTime":7,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"29/Apr/2025:08:07:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"aec14a4322f4b8bc1df38b1ad71aa451"} device-1 | {"level":"info","message":"HEAD /device/status 200 7ms","method":"HEAD","requestID":"f2c8f8a0-24d0-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"29/Apr/2025:08:07:09 +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.006","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4cd193416a888b207fa527996c9e03e1"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","method":"HEAD","requestID":"4cd193416a888b207fa527996c9e03e1","responseTime":4,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"29/Apr/2025:08:07:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0201c013c6af7951bbeed19acf351e60"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 6ms","method":"HEAD","requestID":"f2d072b0-24d0-11f0-a7de-570039b8c64f","responseTime":6,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"29/Apr/2025:08:07:09 +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.031","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"168d301741e0b3ed3bc56c18491edad2"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 27ms","method":"HEAD","requestID":"f2d2e3b0-24d0-11f0-a922-9f055bbfaf14","responseTime":27,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"29/Apr/2025:08:07:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7756e6697959d39fac4454a7b8aa9ec2"} authentication-1 | {"level":"info","message":"POST /login 201 104ms","method":"POST","requestID":"7756e6697959d39fac4454a7b8aa9ec2","responseTime":104,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzNn0.PVEwW5w3ri5q4H4DnhHo5yi9JRnzSHItctw6GCWsX1Q","level":"info","message":"auth send jwt","requestID":"98f4ddd89594acc0b6331f8388723823"} authentication-1 | {"level":"info","message":"GET /auth 200 19ms","method":"GET","requestID":"98f4ddd89594acc0b6331f8388723823","responseTime":19,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"98f4ddd89594acc0b6331f8388723823"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.420993,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"98f4ddd89594acc0b6331f8388723823","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914036,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzNn0.PVEwW5w3ri5q4H4DnhHo5yi9JRnzSHItctw6GCWsX1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","responseTime":18,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e9b01289-5216-4131-b119-ea6fb88988d6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.5120938} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d02672d2-5d60-496d-8ce1-45efd3d39e9a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.548367} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9bc3a5be-1b91-49d3-9e8b-64299bbe0009","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.5638673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ae678e9-be8a-4354-a373-819288d1e923","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.5651693} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.563845732Z"}]},"request_id":"5f930dc2-8d0f-4d56-809b-8325702130e0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.5960832} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"98f4ddd89594acc0b6331f8388723823"} gateway-1 | {"time_local":"29/Apr/2025:08:07:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.307","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98f4ddd89594acc0b6331f8388723823"} device-1 | {"level":"info","message":"POST /devices? 201 251ms","method":"POST","requestID":"98f4ddd89594acc0b6331f8388723823","responseTime":251,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzNn0.PVEwW5w3ri5q4H4DnhHo5yi9JRnzSHItctw6GCWsX1Q","level":"info","message":"auth send jwt","requestID":"ab3fc521482bd3551289926941d8a4c4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab3fc521482bd3551289926941d8a4c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ab3fc521482bd3551289926941d8a4c4"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.731791,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ab3fc521482bd3551289926941d8a4c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914036,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzNn0.PVEwW5w3ri5q4H4DnhHo5yi9JRnzSHItctw6GCWsX1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"979c6cf0-040a-4758-acb6-38787a3693b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.6513603} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f517237e-6f69-407a-9978-61c1d6689062","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.6615982} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"2713789b-ff97-43e0-a6ec-1cc612143899","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.675427} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0e89f19-3607-4f94-b108-af46eb8bf6cb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.6755326} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.675416379Z"}]},"request_id":"8e597ac7-d2d9-4d3e-b9c3-6fd62e84e521","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914036.6826632} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ab3fc521482bd3551289926941d8a4c4"} gateway-1 | {"time_local":"29/Apr/2025:08:07:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab3fc521482bd3551289926941d8a4c4"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"ab3fc521482bd3551289926941d8a4c4","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a5f889d84d7d5227b2f9b2efdc3f119a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a5f889d84d7d5227b2f9b2efdc3f119a","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0eeeaf9078da60ec9ee85e83c023ea67","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0eeeaf9078da60ec9ee85e83c023ea67","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/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":"a5f889d84d7d5227b2f9b2efdc3f119a"} device-1 | {"level":"info","message":"OPTIONS /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/websocket 200 2ms","method":"OPTIONS","requestID":"a5f889d84d7d5227b2f9b2efdc3f119a","responseTime":2,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0eeeaf9078da60ec9ee85e83c023ea67"} device-1 | {"level":"info","message":"OPTIONS /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/websocket 200 1ms","method":"OPTIONS","requestID":"0eeeaf9078da60ec9ee85e83c023ea67","responseTime":1,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g","level":"info","message":"auth send jwt","requestID":"2a73948ad93f8ab0f8572843fceb4fc6"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2a73948ad93f8ab0f8572843fceb4fc6","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g","level":"info","message":"auth send jwt","requestID":"e101ab2d63860a4563783e94655d29aa"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e101ab2d63860a4563783e94655d29aa","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2a73948ad93f8ab0f8572843fceb4fc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e101ab2d63860a4563783e94655d29aa"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.761323,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2a73948ad93f8ab0f8572843fceb4fc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2a73948ad93f8ab0f8572843fceb4fc6","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751219,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e101ab2d63860a4563783e94655d29aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e101ab2d63860a4563783e94655d29aa","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e101ab2d63860a4563783e94655d29aa"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/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":"e101ab2d63860a4563783e94655d29aa"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/websocket 200 24ms","method":"POST","requestID":"e101ab2d63860a4563783e94655d29aa","responseTime":24,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2a73948ad93f8ab0f8572843fceb4fc6"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2a73948ad93f8ab0f8572843fceb4fc6"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/websocket 200 42ms","method":"POST","requestID":"2a73948ad93f8ab0f8572843fceb4fc6","responseTime":42,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g","level":"info","message":"auth send jwt","requestID":"4da383237d1f2a26906dc95061ed0c39"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4da383237d1f2a26906dc95061ed0c39","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4da383237d1f2a26906dc95061ed0c39"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702936,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4da383237d1f2a26906dc95061ed0c39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4da383237d1f2a26906dc95061ed0c39","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.563845732Z"}]},"request_id":"3db34f0e-e136-4b80-a94b-bebcbf08b83f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914039.7052531} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4da383237d1f2a26906dc95061ed0c39","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4da383237d1f2a26906dc95061ed0c39"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4da383237d1f2a26906dc95061ed0c39"} device-1 | {"level":"info","message":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? 200 19ms","method":"GET","requestID":"4da383237d1f2a26906dc95061ed0c39","responseTime":19,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g","level":"info","message":"auth send jwt","requestID":"b7b06eb566dc1548bcad3026b06b39e6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b7b06eb566dc1548bcad3026b06b39e6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b7b06eb566dc1548bcad3026b06b39e6"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726078,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b7b06eb566dc1548bcad3026b06b39e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7b06eb566dc1548bcad3026b06b39e6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.675416379Z"}]},"request_id":"903eb505-d62b-4eaa-a529-2b91bd179a2b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914039.7294455} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7b06eb566dc1548bcad3026b06b39e6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b7b06eb566dc1548bcad3026b06b39e6"} gateway-1 | {"time_local":"29/Apr/2025:08:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7b06eb566dc1548bcad3026b06b39e6"} device-1 | {"level":"info","message":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? 200 14ms","method":"GET","requestID":"b7b06eb566dc1548bcad3026b06b39e6","responseTime":14,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g","level":"info","message":"auth send jwt","requestID":"7991d291280b1f26f886c3969830367e"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"7991d291280b1f26f886c3969830367e","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7991d291280b1f26f886c3969830367e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.962515,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7991d291280b1f26f886c3969830367e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7991d291280b1f26f886c3969830367e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to run experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to book experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully booked experiment","requestID":"7991d291280b1f26f886c3969830367e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f91cd820-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701993,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.565423,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f91cd820-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f91cd820-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.563845732Z"}]},"request_id":"24d3eccc-f197-4956-b222-c26abaa0279f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914039.9796436} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.675416379Z"}]},"request_id":"65f35619-f97c-4216-8d05-b26ac82b03e2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914039.9809685} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f91cd820-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? 200 19ms","method":"GET","requestID":"f91c8a00-24d0-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f91cd820-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? 200 18ms","method":"GET","requestID":"f91cd820-24d0-11f0-816e-bfe403da652c","responseTime":18,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Setting up experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully set up experiment","requestID":"7991d291280b1f26f886c3969830367e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f92abad0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714019,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully running experiment","requestID":"7991d291280b1f26f886c3969830367e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f92abad0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f92abad0-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f92b3000-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81182,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.675416379Z"}]},"request_id":"1ebda9eb-3904-49df-96b5-86bd482151b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.099668} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a73e251a-ea46-47fe-84e8-b3c27760ef63","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.0997899} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.864896,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f92b3000-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"f92b3000-24d0-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.563845732Z"}]},"request_id":"aedf453c-6dc8-44f2-ae2a-d2fd3c056658","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1014473} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f92abad0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? 200 47ms","method":"GET","requestID":"f92ae1e0-24d0-11f0-816e-bfe403da652c","responseTime":47,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f92b3000-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling 200 48ms","method":"POST","requestID":"f92b3000-24d0-11f0-816e-bfe403da652c","responseTime":48,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f92abad0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? 200 52ms","method":"GET","requestID":"f92abad0-24d0-11f0-816e-bfe403da652c","responseTime":52,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f932f830-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9336d60-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33a428c5-d21d-49f4-ad24-3c229d83e75f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1453393} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.562316,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f932f830-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"f932f830-24d0-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1034dd1-195f-4586-a387-e31da3ec633e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1469972} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.209771,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9336d60-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"f9336d60-24d0-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7f55d31-b128-4ac3-9e3a-7aa8d0023ecb#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"0ae640ac-9db0-49cf-8403-e123830176da","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1533008} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f932f830-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling 200 39ms","method":"POST","requestID":"f932f830-24d0-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9336d60-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling 200 37ms","method":"POST","requestID":"f9336d60-24d0-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c726ab20-7ca1-4e27-a8cd-40847d260a4d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1537178} authorization-1 | {"level":"info","message":"POST /relations/update 200 87ms","method":"POST","requestID":"7991d291280b1f26f886c3969830367e","responseTime":87,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f939aef0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcc5a815-f879-4f0e-8dae-9ab7c5d7d68b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.1638741} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.159932,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7991d291280b1f26f886c3969830367e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f939aef0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f939aef0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f939aef0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling 200 34ms","method":"POST","requestID":"f939aef0-24d0-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.454","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 430ms","method":"POST","requestID":"7991d291280b1f26f886c3969830367e","responseTime":430,"status":201,"url":"/experiments?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Building connection plan","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fad0c5bf-5cb9-4775-947b-56f817fb97bd"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a3f243c4-895a-4270-92cb-639cba8e283c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f4f3a88e-9250-4e1f-a6d7-dcdd5ca532df"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7991d291280b1f26f886c3969830367e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7991d291280b1f26f886c3969830367e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA","level":"info","message":"auth send jwt","requestID":"61551ea4df3bf362c994f9ecd588c70a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61551ea4df3bf362c994f9ecd588c70a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61551ea4df3bf362c994f9ecd588c70a"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.611522,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9401790-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914039,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDAzOX0.hIUG1ZvxmccwahZxPfkhurSTaInFI3zj1MDcrUrQr4g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9401790-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753821,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"61551ea4df3bf362c994f9ecd588c70a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61551ea4df3bf362c994f9ecd588c70a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.563845732Z"}]},"request_id":"f75a5b5b-370d-4316-a995-0f1458716e83","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.212794} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"61551ea4df3bf362c994f9ecd588c70a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61551ea4df3bf362c994f9ecd588c70a"} gateway-1 | {"time_local":"29/Apr/2025:08:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61551ea4df3bf362c994f9ecd588c70a"} device-1 | {"level":"info","message":"GET /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f? 200 12ms","method":"GET","requestID":"61551ea4df3bf362c994f9ecd588c70a","responseTime":12,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA","level":"info","message":"auth send jwt","requestID":"c7f5f1dab02bfa06c3ea040a021b7364"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7f5f1dab02bfa06c3ea040a021b7364","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7f5f1dab02bfa06c3ea040a021b7364"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c7f5f1dab02bfa06c3ea040a021b7364","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7f5f1dab02bfa06c3ea040a021b7364","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"0b05f20e-3405-47e7-bee1-48f74c2f6ef4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.253897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a20b2b6-df2d-4ab1-a7d7-2bdbf6ec4f8f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.2541444} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"f9401790-24d0-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:16.675416379Z"}]},"request_id":"63bb6c6c-744a-457b-8058-94ddd2897b2b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.260227} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"c7f5f1dab02bfa06c3ea040a021b7364","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7f5f1dab02bfa06c3ea040a021b7364"} gateway-1 | {"time_local":"29/Apr/2025:08:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7f5f1dab02bfa06c3ea040a021b7364"} device-1 | {"level":"info","message":"GET /devices/09ff432c-5569-47e6-b36e-726efbdc17a1? 200 49ms","method":"GET","requestID":"c7f5f1dab02bfa06c3ea040a021b7364","responseTime":49,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647'","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647'","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 99ms","method":"POST","requestID":"f9401790-24d0-11f0-816e-bfe403da652c","responseTime":99,"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":"f9401790-24d0-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7991d291280b1f26f886c3969830367e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9583370-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fff242dc-386c-4b63-be40-aae69bb61abc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.3860223} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.683115,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9583370-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f9583370-24d0-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9583370-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling 200 33ms","method":"POST","requestID":"f9583370-24d0-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f95db1b0-24d0-11f0-816e-bfe403da652c"} device-1 | {"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2f2e0de-f108-4d05-b954-1a76fbd483b3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.4002821} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345804,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} device-1 | {"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","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/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f95db1b0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f95db1b0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f95db1b0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling 200 12ms","method":"POST","requestID":"f95db1b0-24d0-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4594975661095953307 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:FxRb\r\na=ice-pwd:PYXE4D+T205UizPFqEjYyYRk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2A:7C:38:48:7D:54:97:83:B0:6B:F6:0C:50:EC:E8:4F:45:87:5F:3B:A2:FF:2B:C5:4D:46:DD:B3:80:7A:B5:F0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5352136221416363034 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:ca3U\r\na=ice-pwd:7j4F1JZRN08qHVMd+rf+7dKa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 44:80:F4:D0:6F:6E:AA:B8:D7:44:09:EB:06:1E:E2:0F:0D:51:6E:AF:82:07:D8:F0:06:00:F3:EE:43:D2:C0:39\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:238990762 1 udp 2113937151 eeb38d49-676b-4ad7-8527-7ef8695bdd03.local 55878 typ host generation 0 ufrag ca3U network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","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/09ff432c-5569-47e6-b36e-726efbdc17a1'"} device-1 | {"content":{"candidate":"candidate:3581901831 1 udp 2113937151 d94d0809-ea8b-48b3-a3af-43c0c7831a89.local 34891 typ host generation 0 ufrag FxRb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","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/67f02c32-e621-4c94-b6ca-74e3ad864647' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6c8ef1d8f50fcfd3611f748bba19d2b0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"6c8ef1d8f50fcfd3611f748bba19d2b0","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"}}},"level":"info","message":"received a callback","requestID":"6c8ef1d8f50fcfd3611f748bba19d2b0"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"6c8ef1d8f50fcfd3611f748bba19d2b0","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c8ef1d8f50fcfd3611f748bba19d2b0"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","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/67f02c32-e621-4c94-b6ca-74e3ad864647' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0909f027ac8fe90460e6896bae20d4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0909f027ac8fe90460e6896bae20d4e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"}}},"level":"info","message":"received a callback","requestID":"c0909f027ac8fe90460e6896bae20d4e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f97aaf90-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67f02c32-e621-4c94-b6ca-74e3ad864647","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4d5f1df-3c71-49af-bbf5-041611434b79","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.5901735} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.374623,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f97aaf90-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","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":"f97aaf90-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA","level":"info","message":"auth send jwt","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f97aaf90-24d0-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647 200 11ms","method":"GET","requestID":"f97aaf90-24d0-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.011598,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e3a7a4c2b7091765d0d46e75d55b38c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2"} gateway-1 | {"time_local":"29/Apr/2025:08:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2"} experiment-1 | {"level":"info","message":"GET /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb 200 44ms","method":"GET","requestID":"e3a7a4c2b7091765d0d46e75d55b38c2","responseTime":44,"status":200,"url":"/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"c0909f027ac8fe90460e6896bae20d4e","responseTime":102,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9897ca0-24d0-11f0-816e-bfe403da652c"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0909f027ac8fe90460e6896bae20d4e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"563e40fc-c42c-43d3-a08e-dfcef2414162","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.6872818} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.330598,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9897ca0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f9897ca0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9897ca0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling 200 10ms","method":"POST","requestID":"f9897ca0-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f98b5160-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c42f73a7-77e5-43b2-9b17-0092b56b686a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.6990368} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.353542,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f98b5160-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"f98b5160-24d0-11f0-816e-bfe403da652c","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f98b5160-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling 200 33ms","method":"POST","requestID":"f98b5160-24d0-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA","level":"info","message":"auth send jwt","requestID":"c0783ab49ef667882416a9d8f325da7e"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c0783ab49ef667882416a9d8f325da7e","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"c0783ab49ef667882416a9d8f325da7e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.763948,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c0783ab49ef667882416a9d8f325da7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0783ab49ef667882416a9d8f325da7e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"c0783ab49ef667882416a9d8f325da7e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0783ab49ef667882416a9d8f325da7e"} experiment-1 | {"level":"info","message":"GET /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb 200 12ms","method":"GET","requestID":"c0783ab49ef667882416a9d8f325da7e","responseTime":12,"status":200,"url":"/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA","level":"info","message":"auth send jwt","requestID":"6101ba5ab7789b5907f58bcd0a618806"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6101ba5ab7789b5907f58bcd0a618806","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"6101ba5ab7789b5907f58bcd0a618806"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.787727,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6101ba5ab7789b5907f58bcd0a618806","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6101ba5ab7789b5907f58bcd0a618806","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Attempting to finish experiment","requestID":"6101ba5ab7789b5907f58bcd0a618806"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.661041,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914040,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MH0.3zL7RAFHyELnz5SYCcJb78pMA8rVvNgfh3zfP9eaGkA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","device":"09ff432c-5569-47e6-b36e-726efbdc17a1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647","device":"7a6359c3-8a0c-47bf-ac67-9db35370061f","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/67f02c32-e621-4c94-b6ca-74e3ad864647' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb7c85ec73924d44aa55f8ffb9150db6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb7c85ec73924d44aa55f8ffb9150db6","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ad5b4d369b90c519adcd495d601c8d1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"}}},"level":"info","message":"received a callback","requestID":"bb7c85ec73924d44aa55f8ffb9150db6"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ad5b4d369b90c519adcd495d601c8d1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67f02c32-e621-4c94-b6ca-74e3ad864647': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67f02c32-e621-4c94-b6ca-74e3ad864647","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"6d9a37e6-689a-4240-8ad8-494529f6a11d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.8799777} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"}}},"level":"info","message":"received a callback","requestID":"3ad5b4d369b90c519adcd495d601c8d1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4df473a-344f-4ee0-9653-63cfbca5d03c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.8801599} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"67f02c32-e621-4c94-b6ca-74e3ad864647","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647 204 95ms","method":"DELETE","requestID":"f99f75a0-24d0-11f0-816e-bfe403da652c","responseTime":95,"status":204,"url":"/peerconnections/67f02c32-e621-4c94-b6ca-74e3ad864647"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"},"level":"info","message":"Successfully finished experiment","requestID":"6101ba5ab7789b5907f58bcd0a618806"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9b43620-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ff432c-5569-47e6-b36e-726efbdc17a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ccf9f91-15a6-42e1-9ad3-0df06a80af5f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.9679747} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.336071,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9b43620-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9b43620-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9b43620-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling 200 10ms","method":"POST","requestID":"f9b43620-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/09ff432c-5569-47e6-b36e-726efbdc17a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9b631f0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.772004,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a6359c3-8a0c-47bf-ac67-9db35370061f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb98c05-743f-4120-b542-5473dc5ec51e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.9804444} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f9b631f0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f9b631f0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7f55d31-b128-4ac3-9e3a-7aa8d0023ecb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"efdec200-3308-4688-b141-72f1be449d9f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.982054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7314865-9a6e-4c5a-8b00-b937d98a7f1f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914040.9820461} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9b631f0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling 200 36ms","method":"POST","requestID":"f9b631f0-24d0-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 75ms","method":"POST","requestID":"6101ba5ab7789b5907f58bcd0a618806","responseTime":75,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb","requestID":"6101ba5ab7789b5907f58bcd0a618806"} gateway-1 | {"time_local":"29/Apr/2025:08:07:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.330","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6101ba5ab7789b5907f58bcd0a618806"} experiment-1 | {"level":"info","message":"DELETE /experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb 204 328ms","method":"DELETE","requestID":"6101ba5ab7789b5907f58bcd0a618806","responseTime":328,"status":204,"url":"/experiments/b7f55d31-b128-4ac3-9e3a-7aa8d0023ecb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 243ms","method":"POST","requestID":"bb7c85ec73924d44aa55f8ffb9150db6","responseTime":243,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MX0.SwjxEGDto7S0Pgtwxio_bi8fbW77ME4NeAY-ewklIPQ","level":"info","message":"auth send jwt","requestID":"a16910a284d12892b310c477c79e85c2"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb7c85ec73924d44aa55f8ffb9150db6"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ad5b4d369b90c519adcd495d601c8d1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.456","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97bbe59fa8d71c2276959cdb6a1c0b0b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 243ms","method":"POST","requestID":"3ad5b4d369b90c519adcd495d601c8d1","responseTime":243,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"1.448","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aa6f71cd938e4f5aaef7be490588d367"} device-1 | {"level":"info","message":"postDevices called","requestID":"a16910a284d12892b310c477c79e85c2"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740287,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:21Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/09ff432c-5569-47e6-b36e-726efbdc17a1' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a16910a284d12892b310c477c79e85c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914041,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MX0.SwjxEGDto7S0Pgtwxio_bi8fbW77ME4NeAY-ewklIPQ"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7a6359c3-8a0c-47bf-ac67-9db35370061f' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e1785ed9-b161-49e0-8ebc-bcba92785d26","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.1700804} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3407b3f-4d4e-41ab-b585-0b1c793c3cbd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.1748583} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e2a0834f-9117-47f9-a71b-3648a93161f0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.2088923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a44c286b-e1b9-498b-8841-45147a389765","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.2090828} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.208880214Z"}]},"request_id":"ac017f94-6c0a-41e9-a7d5-9f8fe6c53c76","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.2139688} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a16910a284d12892b310c477c79e85c2"} gateway-1 | {"time_local":"29/Apr/2025:08:07:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a16910a284d12892b310c477c79e85c2"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"a16910a284d12892b310c477c79e85c2","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MX0.SwjxEGDto7S0Pgtwxio_bi8fbW77ME4NeAY-ewklIPQ","level":"info","message":"auth send jwt","requestID":"aa6e2efd601810fc8e8216f57c88b1da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"aa6e2efd601810fc8e8216f57c88b1da"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.708828,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"aa6e2efd601810fc8e8216f57c88b1da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914041,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0MX0.SwjxEGDto7S0Pgtwxio_bi8fbW77ME4NeAY-ewklIPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"435e3fc3-407e-4dac-8fdf-3eb04d91bde2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.2605958} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"135fec64-c0b5-471b-adb2-c965a1212cea","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.2646832} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"1530bd09-e563-45f4-9629-7b131dfa975e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.3017347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"008f7566-e7ea-4d14-b7c4-04c8a69e72e3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.3019652} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"9160dd32-3e32-4cc9-b101-0aa7740f260f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914041.305916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"aa6e2efd601810fc8e8216f57c88b1da"} gateway-1 | {"time_local":"29/Apr/2025:08:07:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa6e2efd601810fc8e8216f57c88b1da"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"aa6e2efd601810fc8e8216f57c88b1da","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Mn0.pjix_1Bd7oSXfq3LOFpM198n4QPYPwNPFj5sXP7bY7Y","level":"info","message":"auth send jwt","requestID":"8fcc3d0689e61ff69567acac39a077b1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8fcc3d0689e61ff69567acac39a077b1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8fcc3d0689e61ff69567acac39a077b1"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814294,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8fcc3d0689e61ff69567acac39a077b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914042,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Mn0.pjix_1Bd7oSXfq3LOFpM198n4QPYPwNPFj5sXP7bY7Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8fcc3d0689e61ff69567acac39a077b1","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"c426e6fb-9b1f-4c4a-8774-d1f74e56ac0d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914042.3053756} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8fcc3d0689e61ff69567acac39a077b1","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09582653-bae0-4e67-9f22-693ac44f4d4b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914042.3101616} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8fcc3d0689e61ff69567acac39a077b1","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"95ecb579-c98c-469e-9ae2-07d3603fe167","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914042.3237865} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8fcc3d0689e61ff69567acac39a077b1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8fcc3d0689e61ff69567acac39a077b1"} gateway-1 | {"time_local":"29/Apr/2025:08:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cff5647c-e220-44df-bb30-bc4acfb313d2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.070","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8fcc3d0689e61ff69567acac39a077b1"} device-1 | {"level":"info","message":"PATCH /devices/cff5647c-e220-44df-bb30-bc4acfb313d2 200 66ms","method":"PATCH","requestID":"8fcc3d0689e61ff69567acac39a077b1","responseTime":66,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Mn0.pjix_1Bd7oSXfq3LOFpM198n4QPYPwNPFj5sXP7bY7Y","level":"info","message":"auth send jwt","requestID":"6bc083a9c39f2f4e9b5406ad1e519045"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6bc083a9c39f2f4e9b5406ad1e519045","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6bc083a9c39f2f4e9b5406ad1e519045"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633751,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6bc083a9c39f2f4e9b5406ad1e519045","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914042,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Mn0.pjix_1Bd7oSXfq3LOFpM198n4QPYPwNPFj5sXP7bY7Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bc083a9c39f2f4e9b5406ad1e519045","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6bc083a9c39f2f4e9b5406ad1e519045"} gateway-1 | {"time_local":"29/Apr/2025:08:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6bc083a9c39f2f4e9b5406ad1e519045"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/websocket 200 14ms","method":"POST","requestID":"6bc083a9c39f2f4e9b5406ad1e519045","responseTime":14,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"352d1455dc157c0e7c29425d4c353610","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"352d1455dc157c0e7c29425d4c353610","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/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":"352d1455dc157c0e7c29425d4c353610"} device-1 | {"level":"info","message":"OPTIONS /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/websocket 200 1ms","method":"OPTIONS","requestID":"352d1455dc157c0e7c29425d4c353610","responseTime":1,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78","level":"info","message":"auth send jwt","requestID":"7e2267e15d19221149a0145883f42988"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e2267e15d19221149a0145883f42988","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7e2267e15d19221149a0145883f42988"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.354436,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7e2267e15d19221149a0145883f42988","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"7e2267e15d19221149a0145883f42988","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7e2267e15d19221149a0145883f42988"} gateway-1 | {"time_local":"29/Apr/2025:08:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7e2267e15d19221149a0145883f42988"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/websocket 200 35ms","method":"POST","requestID":"7e2267e15d19221149a0145883f42988","responseTime":35,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78","level":"info","message":"auth send jwt","requestID":"3acf3435e642cdb53438cf033e58e717"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3acf3435e642cdb53438cf033e58e717","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3acf3435e642cdb53438cf033e58e717"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998034,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3acf3435e642cdb53438cf033e58e717","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3acf3435e642cdb53438cf033e58e717","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.208880214Z"}]},"request_id":"015186a9-b005-4385-b9b4-6e1ed031f271","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.7140813} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3acf3435e642cdb53438cf033e58e717","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3acf3435e642cdb53438cf033e58e717"} gateway-1 | {"time_local":"29/Apr/2025:08:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3acf3435e642cdb53438cf033e58e717"} device-1 | {"level":"info","message":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? 200 14ms","method":"GET","requestID":"3acf3435e642cdb53438cf033e58e717","responseTime":14,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78","level":"info","message":"auth send jwt","requestID":"fc4be3b4af933795ec6497b81e2fa97a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fc4be3b4af933795ec6497b81e2fa97a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc4be3b4af933795ec6497b81e2fa97a"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761553,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fc4be3b4af933795ec6497b81e2fa97a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc4be3b4af933795ec6497b81e2fa97a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"19722e78-5695-4f6e-92bc-4bb46b093e9e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.7322078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc4be3b4af933795ec6497b81e2fa97a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc4be3b4af933795ec6497b81e2fa97a"} gateway-1 | {"time_local":"29/Apr/2025:08:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc4be3b4af933795ec6497b81e2fa97a"} device-1 | {"level":"info","message":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? 200 11ms","method":"GET","requestID":"fc4be3b4af933795ec6497b81e2fa97a","responseTime":11,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78","level":"info","message":"auth send jwt","requestID":"1b73e1c42e1dd857531afd5278d06f88"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b73e1c42e1dd857531afd5278d06f88","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1b73e1c42e1dd857531afd5278d06f88"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.322799,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b73e1c42e1dd857531afd5278d06f88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1b73e1c42e1dd857531afd5278d06f88","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to run experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to book experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully booked experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627067,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.619967,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.208880214Z"}]},"request_id":"bcf52ae8-e25e-47e6-8c36-0e0faf3cc611","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.8500571} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"eaef5a38-fea6-42f9-ad21-fe235d568631","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.8508966} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? 200 13ms","method":"GET","requestID":"fb6baa20-24d0-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? 200 14ms","method":"GET","requestID":"fb6bd130-24d0-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Setting up experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully set up experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb7b3a80-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673904,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully running experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812347,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.375003,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46580ffe-1fe6-4853-8b3e-f7852413a29d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9508545} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb7b3a80-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb7b3a80-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"39e3c20f-6c14-4659-ae37-babfe4d46ad6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9522452} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.208880214Z"}]},"request_id":"d0911f6b-3e0b-435e-a2c3-625453978172","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9553535} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb7b3a80-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling 200 15ms","method":"POST","requestID":"fb7b3a80-24d0-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb81a320-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8698659-95d1-497e-b4c8-4421992bf35e#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8698659-95d1-497e-b4c8-4421992bf35e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"d7c09b11-6218-4de0-999a-1226fa7f5653","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9887366} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a4b26eb-dcf8-469e-8bc5-909592ee47cf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9894958} device-1 | {"level":"info","message":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? 200 48ms","method":"GET","requestID":"fb7aec60-24d0-11f0-816e-bfe403da652c","responseTime":48,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? 200 50ms","method":"GET","requestID":"fb7ac550-24d0-11f0-816e-bfe403da652c","responseTime":50,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88?"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"1b73e1c42e1dd857531afd5278d06f88","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.73111,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:23Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"182bdb45-3ce7-4017-b100-57435cffa7c0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9916265} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb81a320-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb81a320-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb8302b0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb81a320-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:23Z"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling 200 12ms","method":"POST","requestID":"fb81a320-24d0-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d910011c-8beb-4a04-a223-5398f00481d3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914043.9997897} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.363396,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb8302b0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb8302b0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb8302b0-24d0-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 262ms","method":"POST","requestID":"1b73e1c42e1dd857531afd5278d06f88","responseTime":262,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling 200 10ms","method":"POST","requestID":"fb8302b0-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:07:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.267","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb84fe80-24d0-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0NH0.v1fjLBu6VTOZyePQmx2dCy-pwGKmq4FfObFipcjb04A","level":"info","message":"auth send jwt","requestID":"794812159d4010970235bc044789640f"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"794812159d4010970235bc044789640f","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"794812159d4010970235bc044789640f"} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3da09ed8-f750-474e-81bd-fa233da260fd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.0394619} authorization-1 | {"client_addr":"127.0.0.1:51432","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720094,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"794812159d4010970235bc044789640f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914044,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0NH0.v1fjLBu6VTOZyePQmx2dCy-pwGKmq4FfObFipcjb04A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"794812159d4010970235bc044789640f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.297295,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb84fe80-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","rebac_allow":false,"scope_allow":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":"fb84fe80-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.208880214Z"}]},"request_id":"fc7d8c31-f0e5-4070-bcba-45fdd9d75299","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.0452068} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb84fe80-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling 200 38ms","method":"POST","requestID":"fb84fe80-24d0-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"794812159d4010970235bc044789640f","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Building connection plan","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1ffc4537-1fa4-4de5-933a-3a99dbcff9cd"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3dd5d2b7-d187-4890-9d9f-7bbe71045e4f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ffc555cf-550f-4bd9-91e9-2723be5ed73d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1b73e1c42e1dd857531afd5278d06f88"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"794812159d4010970235bc044789640f"} gateway-1 | {"time_local":"29/Apr/2025:08:07:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"794812159d4010970235bc044789640f"} device-1 | {"level":"info","message":"GET /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88? 200 13ms","method":"GET","requestID":"794812159d4010970235bc044789640f","responseTime":13,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0NH0.v1fjLBu6VTOZyePQmx2dCy-pwGKmq4FfObFipcjb04A","level":"info","message":"auth send jwt","requestID":"8a122a2a3f4816259d650f22b4a68465"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.698409,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8a122a2a3f4816259d650f22b4a68465","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a122a2a3f4816259d650f22b4a68465"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914043,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0M30.I4-CvodbLLYSBNcqq-mCjr4OhoKMJB0vF0EF5py-n78"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836269,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8a122a2a3f4816259d650f22b4a68465","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914044,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0NH0.v1fjLBu6VTOZyePQmx2dCy-pwGKmq4FfObFipcjb04A"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8a122a2a3f4816259d650f22b4a68465","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:21.301722298Z"}]},"request_id":"96e3fed0-2947-4e4a-8be4-a8c14fce56f2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.084197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8a122a2a3f4816259d650f22b4a68465","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a122a2a3f4816259d650f22b4a68465"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c711cfae-05b7-4eb2-9b7a-ea90bba4afbf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.0877628} gateway-1 | {"time_local":"29/Apr/2025:08:07:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a122a2a3f4816259d650f22b4a68465"} device-1 | {"level":"info","message":"GET /devices/cff5647c-e220-44df-bb30-bc4acfb313d2? 200 35ms","method":"GET","requestID":"8a122a2a3f4816259d650f22b4a68465","responseTime":35,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"135c2542-7787-4f79-aa5c-a71a4b8d3852","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.0880659} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b'","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b'","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 90ms","method":"POST","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c","responseTime":90,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"fb8b4010-24d0-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1b73e1c42e1dd857531afd5278d06f88"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb9d1a60-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f50331e-58c4-42f9-bcb3-7a54c63172d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.1699405} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.351168,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb9d1a60-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","rebac_allow":false,"scope_allow":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":"fb9d1a60-24d0-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb9d1a60-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling 200 16ms","method":"POST","requestID":"fb9d1a60-24d0-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling"} device-1 | {"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fba00090-24d0-11f0-816e-bfe403da652c"} device-1 | {"content":{"sdp":"v=0\r\no=- 1117418725639497001 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:3woZ\r\na=ice-pwd:hWRWRJQPAHwZH2tMVYY+Cdjg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5E:81:9C:A0:C5:FB:66:38:2D:62:CB:D9:2E:AF:AC:65:D7:B4:E6:C8:7B:A2:6F:59:FC:8D:A6:6F:46:B2:CA:12\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:24Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88'"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6077d2f8-150d-4632-8022-ab4715761654","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914044.1899893} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.516262,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fba00090-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fba00090-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fba00090-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling 200 9ms","method":"POST","requestID":"fba00090-24d0-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling"} device-1 | {"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b8901b24cadad1e80ef772f1770dac12","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b8901b24cadad1e80ef772f1770dac12","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"}}},"level":"info","message":"received a callback","requestID":"b8901b24cadad1e80ef772f1770dac12"} device-1 | {"content":{"candidate":"candidate:2147325472 1 udp 2113937151 b5f9cc03-c43c-4171-85b4-18936bd48fc3.local 34491 typ host generation 0 ufrag 3woZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"b8901b24cadad1e80ef772f1770dac12","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8901b24cadad1e80ef772f1770dac12"} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","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/80e565a1-28d8-4d42-a0f6-34a440ef2e4b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3d3f4c043e9665526e6bc722a1b118d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b3d3f4c043e9665526e6bc722a1b118d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"}}},"level":"info","message":"received a callback","requestID":"b3d3f4c043e9665526e6bc722a1b118d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fcd6abd0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e565a1-28d8-4d42-a0f6-34a440ef2e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbf02d8d-639e-421d-8a75-f4470289a831","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.2269323} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.646311,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcd6abd0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","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":"fcd6abd0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fcd6abd0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b 200 11ms","method":"GET","requestID":"fcd6abd0-24d0-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"b3d3f4c043e9665526e6bc722a1b118d","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3d3f4c043e9665526e6bc722a1b118d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fcdaca80-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0e048a6-b34f-4ae2-b1f3-109a70c833e4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.2540505} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309073,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcdaca80-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fcdaca80-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fcdaca80-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling 200 11ms","method":"POST","requestID":"fcdaca80-24d0-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fcdcc650-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a8dd43f-c253-4ca9-a361-5cfb63a6f70c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.2669618} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267973,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcdcc650-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fcdcc650-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fcdcc650-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling 200 10ms","method":"POST","requestID":"fcdcc650-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ","level":"info","message":"auth send jwt","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e8698659-95d1-497e-b4c8-4421992bf35e","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.644483,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"db956feba0fd2d94cd5e96e2de7c3cf9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914046,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e8698659-95d1-497e-b4c8-4421992bf35e","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e8698659-95d1-497e-b4c8-4421992bf35e HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9"} experiment-1 | {"level":"info","message":"GET /experiments/e8698659-95d1-497e-b4c8-4421992bf35e 200 13ms","method":"GET","requestID":"db956feba0fd2d94cd5e96e2de7c3cf9","responseTime":13,"status":200,"url":"/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ","level":"info","message":"auth send jwt","requestID":"3550b973db9c790ee97644bdacc9c5bc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3550b973db9c790ee97644bdacc9c5bc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e8698659-95d1-497e-b4c8-4421992bf35e","requestID":"3550b973db9c790ee97644bdacc9c5bc"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.752198,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3550b973db9c790ee97644bdacc9c5bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914046,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3550b973db9c790ee97644bdacc9c5bc","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Attempting to finish experiment","requestID":"3550b973db9c790ee97644bdacc9c5bc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fce99790-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.708344,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fce99790-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914046,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fce99790-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b","device":"9fe0cdbc-be77-466f-8e7c-89054885cc88","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cff5647c-e220-44df-bb30-bc4acfb313d2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80e565a1-28d8-4d42-a0f6-34a440ef2e4b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e565a1-28d8-4d42-a0f6-34a440ef2e4b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e565a1-28d8-4d42-a0f6-34a440ef2e4b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"c8db4ed7-e494-45c8-a88f-0c1114f7d625","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.3600187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c9bbf8f-846a-48c1-993c-38b483301ebd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.3604264} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"fce99790-24d0-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a494a9ee2e226ae432932293924a085e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a494a9ee2e226ae432932293924a085e","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"}}},"level":"info","message":"received a callback","requestID":"a494a9ee2e226ae432932293924a085e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba4c34cc7d0b4b4e443a6059b394dc3d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"fce99790-24d0-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ba4c34cc7d0b4b4e443a6059b394dc3d","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b 204 44ms","method":"DELETE","requestID":"fce99790-24d0-11f0-816e-bfe403da652c","responseTime":44,"status":204,"url":"/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80e565a1-28d8-4d42-a0f6-34a440ef2e4b"}}},"level":"info","message":"received a callback","requestID":"ba4c34cc7d0b4b4e443a6059b394dc3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"},"level":"info","message":"Successfully finished experiment","requestID":"3550b973db9c790ee97644bdacc9c5bc"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fcf77a40-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcff5647c-e220-44df-bb30-bc4acfb313d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aeadd237-c6cf-48f4-97ae-b926182d065a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.440439} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.124611,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcf77a40-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fcf77a40-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fcf77a40-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling 200 8ms","method":"POST","requestID":"fcf77a40-24d0-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/cff5647c-e220-44df-bb30-bc4acfb313d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fcf900e0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8698659-95d1-497e-b4c8-4421992bf35e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe8698659-95d1-497e-b4c8-4421992bf35e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"6adbc45b-89a5-4f4c-875f-cb8b0a467f1b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.4492176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edc8920b-0de1-428b-9525-f43440149390","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.449372} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"3550b973db9c790ee97644bdacc9c5bc","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9fe0cdbc-be77-466f-8e7c-89054885cc88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e3de044-2f8b-4f5c-a024-7a3480f86d90","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.4514673} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214826,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcf900e0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fcf900e0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fcf900e0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling 200 10ms","method":"POST","requestID":"fcf900e0-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e8698659-95d1-497e-b4c8-4421992bf35e","requestID":"3550b973db9c790ee97644bdacc9c5bc"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e8698659-95d1-497e-b4c8-4421992bf35e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3550b973db9c790ee97644bdacc9c5bc"} experiment-1 | {"level":"info","message":"DELETE /experiments/e8698659-95d1-497e-b4c8-4421992bf35e 204 234ms","method":"DELETE","requestID":"3550b973db9c790ee97644bdacc9c5bc","responseTime":234,"status":204,"url":"/experiments/e8698659-95d1-497e-b4c8-4421992bf35e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"4.172","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"12bc2beedeacb3a4256ce808de61afda"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cff5647c-e220-44df-bb30-bc4acfb313d2' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"a494a9ee2e226ae432932293924a085e","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"a494a9ee2e226ae432932293924a085e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"ba4c34cc7d0b4b4e443a6059b394dc3d","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba4c34cc7d0b4b4e443a6059b394dc3d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ","level":"info","message":"auth send jwt","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"2.859","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"08db35f988e2bd061982eb315e2ba88e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9fe0cdbc-be77-466f-8e7c-89054885cc88' closed"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.989318,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914046,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e81b6a71-b1eb-41e7-9e76-6971b97f2089","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.5930395} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"decd2409-13d7-42c9-87b2-3f4825cb9e7b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.5978837} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"d9e0fcee-1462-496b-964c-b69cab8ecbe9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.63183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a28fef17-5b58-4b0b-9be1-46646f4713d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.6320722} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"75067971-2752-4efe-82d0-281977ace383","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.6363368} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"6bf2c3ba1e7a6af4cefe892d0ad5a04e","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ","level":"info","message":"auth send jwt","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907482,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914046,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0Nn0.cr65GvMWuNAqTDOeE3SDjndYO83qRqff3g1S-Z7fUNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8aceedc4-328f-4c15-9e36-64c4ae67a770","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.6847868} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b35701eb-85e8-4ed3-a254-0f84ee89fe37","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.689912} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"1edd2bf2-2597-46fb-8897-06d1a3b1e230","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.7245734} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6402e01a-d24a-4a49-8cc2-b43c8fcd7f0c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.724666} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.724558838Z"}]},"request_id":"f9334cf3-846c-49b0-83e1-c6bcd2cada4b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914046.729354} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"b3c3548c92b7e9cb05c31b0587d2fe4e","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0N30.kdgWI_YL3AkgQRI3GlJWGS9K_IcFqr1ArWz_kyeuFL4","level":"info","message":"auth send jwt","requestID":"3c193b67848b6ecbe69df156b84403d7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c193b67848b6ecbe69df156b84403d7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3c193b67848b6ecbe69df156b84403d7"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c193b67848b6ecbe69df156b84403d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914047,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0N30.kdgWI_YL3AkgQRI3GlJWGS9K_IcFqr1ArWz_kyeuFL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3c193b67848b6ecbe69df156b84403d7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"8d601060-cb54-4653-bdd8-41c56402eb5b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914047.644656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c193b67848b6ecbe69df156b84403d7","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3cbd0c0-ee7a-4e68-95c6-f2edee0b9326","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914047.649277} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3c193b67848b6ecbe69df156b84403d7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"e0ad45c0-0d32-4db0-a87a-bf69d9350142","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914047.6911476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c193b67848b6ecbe69df156b84403d7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3c193b67848b6ecbe69df156b84403d7"} device-1 | {"level":"info","message":"PATCH /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5 200 60ms","method":"PATCH","requestID":"3c193b67848b6ecbe69df156b84403d7","responseTime":60,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"} gateway-1 | {"time_local":"29/Apr/2025:08:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3c193b67848b6ecbe69df156b84403d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0N30.kdgWI_YL3AkgQRI3GlJWGS9K_IcFqr1ArWz_kyeuFL4","level":"info","message":"auth send jwt","requestID":"ef0779d3cae3266816e86aa72d108fb3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef0779d3cae3266816e86aa72d108fb3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ef0779d3cae3266816e86aa72d108fb3"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729968,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ef0779d3cae3266816e86aa72d108fb3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914047,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0N30.kdgWI_YL3AkgQRI3GlJWGS9K_IcFqr1ArWz_kyeuFL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ef0779d3cae3266816e86aa72d108fb3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ef0779d3cae3266816e86aa72d108fb3"} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/websocket 200 40ms","method":"POST","requestID":"ef0779d3cae3266816e86aa72d108fb3","responseTime":40,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ef0779d3cae3266816e86aa72d108fb3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3fafc0cd0d71089b42c34ee95d9ae12f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3fafc0cd0d71089b42c34ee95d9ae12f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/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":"3fafc0cd0d71089b42c34ee95d9ae12f"} device-1 | {"level":"info","message":"OPTIONS /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/websocket 200 2ms","method":"OPTIONS","requestID":"3fafc0cd0d71089b42c34ee95d9ae12f","responseTime":2,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"a34f6379dd782a2e24d631a3d517de53"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a34f6379dd782a2e24d631a3d517de53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a34f6379dd782a2e24d631a3d517de53"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309734,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a34f6379dd782a2e24d631a3d517de53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a34f6379dd782a2e24d631a3d517de53","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a34f6379dd782a2e24d631a3d517de53"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/websocket 200 42ms","method":"POST","requestID":"a34f6379dd782a2e24d631a3d517de53","responseTime":42,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a34f6379dd782a2e24d631a3d517de53"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"3934f9263b37e10372449b63d12a379f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3934f9263b37e10372449b63d12a379f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3934f9263b37e10372449b63d12a379f"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929792,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3934f9263b37e10372449b63d12a379f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3934f9263b37e10372449b63d12a379f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"87217416-1f80-4076-90e5-328139b96cbe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.1096768} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3934f9263b37e10372449b63d12a379f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3934f9263b37e10372449b63d12a379f"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3934f9263b37e10372449b63d12a379f"} device-1 | {"level":"info","message":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? 200 16ms","method":"GET","requestID":"3934f9263b37e10372449b63d12a379f","responseTime":16,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"6b5bab7f3d362b50984a4f48f082fb61"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b5bab7f3d362b50984a4f48f082fb61","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b5bab7f3d362b50984a4f48f082fb61"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636144,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6b5bab7f3d362b50984a4f48f082fb61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b5bab7f3d362b50984a4f48f082fb61","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.724558838Z"}]},"request_id":"e5b96d87-2f15-4cf6-953c-cb6d4400e809","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.1367326} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6b5bab7f3d362b50984a4f48f082fb61","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b5bab7f3d362b50984a4f48f082fb61"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b5bab7f3d362b50984a4f48f082fb61"} device-1 | {"level":"info","message":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? 200 18ms","method":"GET","requestID":"6b5bab7f3d362b50984a4f48f082fb61","responseTime":18,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"339f579d7f10e640977b8926d24df5d0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"339f579d7f10e640977b8926d24df5d0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"339f579d7f10e640977b8926d24df5d0"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.681763,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"339f579d7f10e640977b8926d24df5d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"339f579d7f10e640977b8926d24df5d0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to run experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to book experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully booked experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fea10b90-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fea159b0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75309,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fea10b90-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fea10b90-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183668,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fea159b0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fea159b0-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"63926e63-f873-49c0-8563-4a9a5d959330","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.2338252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fea10b90-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.724558838Z"}]},"request_id":"68811540-7d8a-4e97-94bd-5ecece8115f4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.237704} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fea10b90-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fea159b0-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? 200 14ms","method":"GET","requestID":"fea10b90-24d0-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fea159b0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? 200 39ms","method":"GET","requestID":"fea159b0-24d0-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Setting up experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully locked booking for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to update booking for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully updated booking for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully set up experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"feb70490-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"feb779c0-24d0-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully running experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061042,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"feb70490-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"feb70490-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646465,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.027773,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a27f743d-dbfc-4022-a89b-336ab9940986","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.3787386} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"feb779c0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"feb779c0-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"feb779c0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.724558838Z"}]},"request_id":"04cbbf9c-ce6c-4386-bfca-25634b250e55","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.3845785} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling 200 13ms","method":"POST","requestID":"feb779c0-24d0-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"6df56fde-c95b-470e-9020-ec9733a8c02c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.3853052} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"feb70490-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"feb9c3b0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3a810368-2265-4b1b-8de4-0a5e1e383418#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3a810368-2265-4b1b-8de4-0a5e1e383418","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c232ffab-1eac-408f-9a9e-21e0ed25eedc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.3893712} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"597a1af3-c083-4622-9d9a-fdbddfa7483f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.3896399} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2898c6f2-c605-4d75-bb38-cf3cbeba2a82","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.391831} device-1 | {"level":"info","message":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? 200 22ms","method":"GET","requestID":"feb72ba0-24d0-11f0-816e-bfe403da652c","responseTime":22,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"339f579d7f10e640977b8926d24df5d0","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448453,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"feb70490-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? 200 24ms","method":"GET","requestID":"feb70490-24d0-11f0-816e-bfe403da652c","responseTime":24,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"feb9c3b0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"feb9c3b0-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"feb9c3b0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling 200 9ms","method":"POST","requestID":"feb9c3b0-24d0-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"febb7160-24d0-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"339f579d7f10e640977b8926d24df5d0"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.259","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 255ms","method":"POST","requestID":"339f579d7f10e640977b8926d24df5d0","responseTime":255,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed25e04b-fa47-4be2-bc90-eb83a3731381","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.4030476} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.805067,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"febb7160-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"febb7160-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"42f005d36a163b3379932583513f6f5b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42f005d36a163b3379932583513f6f5b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42f005d36a163b3379932583513f6f5b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"febb7160-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling 200 12ms","method":"POST","requestID":"febb7160-24d0-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794291,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"42f005d36a163b3379932583513f6f5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42f005d36a163b3379932583513f6f5b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"febdbb50-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.631815549Z"}]},"request_id":"d39fc4f4-9e1e-428b-804c-c6fee7378e83","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.4173422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42f005d36a163b3379932583513f6f5b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6efaa3a5-0075-40fd-875b-e3fc952a5d96","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.4176333} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.92758,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"febdbb50-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"febdbb50-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42f005d36a163b3379932583513f6f5b"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42f005d36a163b3379932583513f6f5b"} device-1 | {"level":"info","message":"GET /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5? 200 14ms","method":"GET","requestID":"42f005d36a163b3379932583513f6f5b","responseTime":14,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"febdbb50-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling 200 10ms","method":"POST","requestID":"febdbb50-24d0-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Building connection plan","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"03a68140-3d34-4404-a681-831e409c8f2d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"bd3871d0-9a75-43ff-87e3-63fd509bed9c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"29303584-b932-4662-91df-e7ca74f0cd60"}]},"level":"info","message":"Built pairwise service configurations","requestID":"339f579d7f10e640977b8926d24df5d0"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"339f579d7f10e640977b8926d24df5d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ","level":"info","message":"auth send jwt","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.604714,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"febfb720-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"febfb720-24d0-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858857,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914049,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA0OX0.m9pE2reiTZsx8cWidGsnPuRImRRsi3jTjHzlrRyw7QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:26.724558838Z"}]},"request_id":"9dbc4c8d-06d3-4555-ba40-d7a871dbf14a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.447868} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee"} gateway-1 | {"time_local":"29/Apr/2025:08:07:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee"} device-1 | {"level":"info","message":"GET /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467? 200 24ms","method":"GET","requestID":"0b55dcdb71f94a3ac1e1d4b1237513ee","responseTime":24,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c1e47dc7-0471-49e8-af11-d696f80e8c81","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.4543338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00af07bf-56a2-488d-a8f9-a243535d2d42","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.4545424} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"febfb720-24d0-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007'","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007'","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"febfb720-24d0-11f0-816e-bfe403da652c","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"febfb720-24d0-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"339f579d7f10e640977b8926d24df5d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fecdc0e0-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f266a288-4442-457e-96c5-14e0b420fb84","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.5231092} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487813,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fecdc0e0-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","rebac_allow":false,"scope_allow":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":"fecdc0e0-24d0-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fecdc0e0-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling 200 8ms","method":"POST","requestID":"fecdc0e0-24d0-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fed31810-24d0-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:29Z"} device-1 | {"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b8e9d31-c482-466a-b46a-83c7bdb5e75d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914049.5586102} device-1 | {"content":{"canTrickle":true},"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.723262,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fed31810-24d0-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fed31810-24d0-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fed31810-24d0-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling 200 11ms","method":"POST","requestID":"fed31810-24d0-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling"} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2928909287544053151 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:Cuzw\r\na=ice-pwd:Jjzb07PyxWVbc7JfX3wAv2B9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 30:C8:0A:E1:41:99:1F:FB:30:E2:32:4C:8A:59:51:BF:D0:6C:7F:99:D4:6B:72:0F:63:C4:69:E7:4C:10:2E:42\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3821345933 1 udp 2113937151 9d4c461c-9ddf-4338-b050-c362e7f97113.local 46102 typ host generation 0 ufrag Cuzw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","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/4d1313c8-d3ab-43fd-9ff6-11ed75621467'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0469cb8eef8e5eee57740f886d05146","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f0469cb8eef8e5eee57740f886d05146","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"}}},"level":"info","message":"received a callback","requestID":"f0469cb8eef8e5eee57740f886d05146"} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f0469cb8eef8e5eee57740f886d05146","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0469cb8eef8e5eee57740f886d05146"} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","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/fe36f1f0-b832-4130-8835-73553157a007' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dfb8304684ba704ff6030fde149f3871","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfb8304684ba704ff6030fde149f3871","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"}}},"level":"info","message":"received a callback","requestID":"dfb8304684ba704ff6030fde149f3871"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0007c780-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe36f1f0-b832-4130-8835-73553157a007","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3aa36d4-c4ef-4fee-9617-f5deaa2777a5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.580132} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.310982,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0007c780-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","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":"0007c780-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0007c780-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/fe36f1f0-b832-4130-8835-73553157a007 200 8ms","method":"GET","requestID":"0007c780-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"dfb8304684ba704ff6030fde149f3871","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfb8304684ba704ff6030fde149f3871"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"000ef370-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac39b6bf-a437-42bd-bac1-8ad13e837123","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.6285207} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.642855,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"000ef370-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"000ef370-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"000ef370-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling 200 10ms","method":"POST","requestID":"000ef370-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0010c830-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e4611b3-bf96-4011-85b9-3a710ae5e733","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.6399632} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.228737,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0010c830-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"0010c830-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4","level":"info","message":"auth send jwt","requestID":"98c4a3acf98472e69c63d6f07b715978"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"98c4a3acf98472e69c63d6f07b715978","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","requestID":"98c4a3acf98472e69c63d6f07b715978"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0010c830-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling 200 36ms","method":"POST","requestID":"0010c830-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.839826,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"98c4a3acf98472e69c63d6f07b715978","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914051,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"98c4a3acf98472e69c63d6f07b715978","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","requestID":"98c4a3acf98472e69c63d6f07b715978"} experiment-1 | {"level":"info","message":"GET /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418 200 12ms","method":"GET","requestID":"98c4a3acf98472e69c63d6f07b715978","responseTime":12,"status":200,"url":"/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"} gateway-1 | {"time_local":"29/Apr/2025:08:07:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98c4a3acf98472e69c63d6f07b715978"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4","level":"info","message":"auth send jwt","requestID":"0d2acc038f1e777a40e39851dfdef71c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d2acc038f1e777a40e39851dfdef71c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","requestID":"0d2acc038f1e777a40e39851dfdef71c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.629686,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d2acc038f1e777a40e39851dfdef71c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914051,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d2acc038f1e777a40e39851dfdef71c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Attempting to finish experiment","requestID":"0d2acc038f1e777a40e39851dfdef71c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"001de790-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.748905,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"001de790-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914051,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"001de790-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007","device":"4d1313c8-d3ab-43fd-9ff6-11ed75621467","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3ec1d705-cf62-4507-9a41-92be9cb9b0b5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe36f1f0-b832-4130-8835-73553157a007","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"898485c4a7631aae4f78733551f57d75","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"898485c4a7631aae4f78733551f57d75","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe36f1f0-b832-4130-8835-73553157a007': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe36f1f0-b832-4130-8835-73553157a007","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"c1516a32-4fbe-45ad-a568-3033607146f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.7369735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb382e0e-0a8a-4dc7-af10-f52426346fc6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.7373703} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"001de790-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"}}},"level":"info","message":"received a callback","requestID":"898485c4a7631aae4f78733551f57d75"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e51b79c0c08370fd485ee19a8ae1a35a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"001de790-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e51b79c0c08370fd485ee19a8ae1a35a","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/fe36f1f0-b832-4130-8835-73553157a007 204 46ms","method":"DELETE","requestID":"001de790-24d1-11f0-816e-bfe403da652c","responseTime":46,"status":204,"url":"/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe36f1f0-b832-4130-8835-73553157a007"}}},"level":"info","message":"received a callback","requestID":"e51b79c0c08370fd485ee19a8ae1a35a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"},"level":"info","message":"Successfully finished experiment","requestID":"0d2acc038f1e777a40e39851dfdef71c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"002c6680-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d1313c8-d3ab-43fd-9ff6-11ed75621467","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"889d4433-4141-444b-b349-11e05d18cb09","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.8210292} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.808558,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"002c6680-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"002c6680-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"002c6680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling 200 10ms","method":"POST","requestID":"002c6680-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"002e3b40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3a810368-2265-4b1b-8de4-0a5e1e383418': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3a810368-2265-4b1b-8de4-0a5e1e383418","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"63499b62-cdae-447a-9e13-6242325ca06d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.8310049} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80114452-b4f8-4c8d-9928-220fe4930904","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.8313541} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"0d2acc038f1e777a40e39851dfdef71c","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ec1d705-cf62-4507-9a41-92be9cb9b0b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82b0bebd-3947-4374-a3a2-3eed3ef9a7f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914051.857601} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.525806,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"002e3b40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"002e3b40-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"002e3b40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling 200 34ms","method":"POST","requestID":"002e3b40-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418","requestID":"0d2acc038f1e777a40e39851dfdef71c"} gateway-1 | {"time_local":"29/Apr/2025:08:07:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.272","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d2acc038f1e777a40e39851dfdef71c"} experiment-1 | {"level":"info","message":"DELETE /experiments/3a810368-2265-4b1b-8de4-0a5e1e383418 204 269ms","method":"DELETE","requestID":"0d2acc038f1e777a40e39851dfdef71c","responseTime":269,"status":204,"url":"/experiments/3a810368-2265-4b1b-8de4-0a5e1e383418"} gateway-1 | {"time_local":"29/Apr/2025:08:07:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"4.216","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"19c94b69455f898c6c58dafde3511959"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"898485c4a7631aae4f78733551f57d75","responseTime":195,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3ec1d705-cf62-4507-9a41-92be9cb9b0b5' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"898485c4a7631aae4f78733551f57d75"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"e51b79c0c08370fd485ee19a8ae1a35a","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"e51b79c0c08370fd485ee19a8ae1a35a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4","level":"info","message":"auth send jwt","requestID":"1c279a5d484491bfca1978ea0e4146e0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c279a5d484491bfca1978ea0e4146e0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1c279a5d484491bfca1978ea0e4146e0"} gateway-1 | {"time_local":"29/Apr/2025:08:07:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.879","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0f0f44638eeef64e6f9836408f25b39"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4d1313c8-d3ab-43fd-9ff6-11ed75621467' closed"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899655,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1c279a5d484491bfca1978ea0e4146e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914051,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1MX0.FU5lfG7ywtPf5fKH8W9LjhTJG7WLTSsqCAu2wMmjUE4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62b0d1ab-9d32-4b51-9d32-b1611f9c5b8f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.0056624} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6e1565d-efba-49d9-9129-e0d3eb82d4b0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.010852} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"fa86319e-dc6b-4c61-a58f-cc02d2159ed2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.02083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f703b51f-3cf9-47d2-8b16-4cf59bbdb042","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.0210245} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"ee261a70-da1b-453f-bad1-b18ba03deb9b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.0503983} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1c279a5d484491bfca1978ea0e4146e0"} gateway-1 | {"time_local":"29/Apr/2025:08:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c279a5d484491bfca1978ea0e4146e0"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"1c279a5d484491bfca1978ea0e4146e0","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc","level":"info","message":"auth send jwt","requestID":"269c7f5830d712d8f530db428be486c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"269c7f5830d712d8f530db428be486c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"269c7f5830d712d8f530db428be486c5"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.68401,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"269c7f5830d712d8f530db428be486c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914052,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b8371657-4cda-43ee-99cf-851fab4b13e3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.073546} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e5fc1ef-ae52-4a1b-859b-d8b0952a189c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.0988448} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c39673ce-0d9b-405c-9483-b17d413cd467","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.110498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ebf2fe9-dba5-4909-bbf4-17d97af4e33c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.1107936} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"1e82f59c-3f2b-4ac3-aea7-9fe3ca29d0e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.1150122} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"269c7f5830d712d8f530db428be486c5"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"269c7f5830d712d8f530db428be486c5","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"269c7f5830d712d8f530db428be486c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc","level":"info","message":"auth send jwt","requestID":"1a2dc9fe4780e3a9a11a9117c644875e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1a2dc9fe4780e3a9a11a9117c644875e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660391,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1a2dc9fe4780e3a9a11a9117c644875e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914052,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc","level":"info","message":"auth send jwt","requestID":"af04353f8fe15e163ceaff81e8188689"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af04353f8fe15e163ceaff81e8188689","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"af04353f8fe15e163ceaff81e8188689"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603955,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"af04353f8fe15e163ceaff81e8188689","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914052,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Mn0.obSZ7r6PcujPOle_eL4syMiwbzCLSnQJv_6ghZXKwmc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af04353f8fe15e163ceaff81e8188689","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"e4ad25d1-df82-4f77-904b-51ade211cd37","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.9784353} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aebbeaa-0136-493e-8fb2-baf5efa0ed9f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.9845796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"28a5182a-e2a9-4939-8176-3ca0c6f0dfd0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914052.9852054} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af04353f8fe15e163ceaff81e8188689","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14b1af01-e177-4ab5-807c-724f3b709100","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.010083} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"af04353f8fe15e163ceaff81e8188689","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"80c50fb5-9764-450f-b549-81e55393eb39","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.0197709} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1a2dc9fe4780e3a9a11a9117c644875e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1a2dc9fe4780e3a9a11a9117c644875e"} device-1 | {"level":"info","message":"PATCH /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d 200 53ms","method":"PATCH","requestID":"1a2dc9fe4780e3a9a11a9117c644875e","responseTime":53,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"26e7a4aecea53c8165163d3ff2be402e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"26e7a4aecea53c8165163d3ff2be402e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"26e7a4aecea53c8165163d3ff2be402e"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661839,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"26e7a4aecea53c8165163d3ff2be402e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"26e7a4aecea53c8165163d3ff2be402e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"882a7dac-7934-4177-90e2-b1a507a701e4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.0297308} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"af04353f8fe15e163ceaff81e8188689","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"af04353f8fe15e163ceaff81e8188689"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"af04353f8fe15e163ceaff81e8188689"} device-1 | {"level":"info","message":"PATCH /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548 200 58ms","method":"PATCH","requestID":"af04353f8fe15e163ceaff81e8188689","responseTime":58,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"ea23303f6164ab03f10189084ef1f222"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea23303f6164ab03f10189084ef1f222","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ea23303f6164ab03f10189084ef1f222"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.619903,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ea23303f6164ab03f10189084ef1f222","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea23303f6164ab03f10189084ef1f222","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"26e7a4aecea53c8165163d3ff2be402e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"26e7a4aecea53c8165163d3ff2be402e"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/websocket 200 40ms","method":"POST","requestID":"26e7a4aecea53c8165163d3ff2be402e","responseTime":40,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ea23303f6164ab03f10189084ef1f222"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/websocket 200 15ms","method":"POST","requestID":"ea23303f6164ab03f10189084ef1f222","responseTime":15,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ea23303f6164ab03f10189084ef1f222"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678497,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"1867e937-6200-4116-b5e1-19a2007c13ce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.116175} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d"} device-1 | {"level":"info","message":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? 200 12ms","method":"GET","requestID":"d8aef25c12a9cd2d7b345c7eaa400d6d","responseTime":12,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"c2e8a9c270231aeff62aeaea864bfaa4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2e8a9c270231aeff62aeaea864bfaa4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2e8a9c270231aeff62aeaea864bfaa4"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701454,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c2e8a9c270231aeff62aeaea864bfaa4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c2e8a9c270231aeff62aeaea864bfaa4","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"e433c03d-f268-4166-8e9d-dd0db0083a4f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.155682} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c2e8a9c270231aeff62aeaea864bfaa4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2e8a9c270231aeff62aeaea864bfaa4"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2e8a9c270231aeff62aeaea864bfaa4"} device-1 | {"level":"info","message":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? 200 34ms","method":"GET","requestID":"c2e8a9c270231aeff62aeaea864bfaa4","responseTime":34,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.673588,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to run experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to book experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully booked experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01031770-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01070f10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903989,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01031770-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01031770-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130193,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01070f10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01070f10-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"7bd67c7b-2930-4b96-8073-2cfdc33e3a4a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.2570696} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01031770-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"7a1959ea-5c8d-444f-b507-5bd3b0718583","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.258096} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01070f10-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01031770-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? 200 39ms","method":"GET","requestID":"01031770-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01070f10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? 200 13ms","method":"GET","requestID":"01070f10-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Setting up experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully set up experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"011280c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0112cee0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0112f5f0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully running experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921073,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"011280c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"011280c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662903,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0112cee0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0112cee0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3d5c065-0f33-424e-a126-832f29ee8419","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3328958} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765444,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0112f5f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","rebac_allow":false,"scope_allow":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":"0112f5f0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0112f5f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling 200 13ms","method":"POST","requestID":"0112f5f0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"3eb54193-8cf0-4813-a236-a01bc59d1764","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.339548} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0112cee0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"fe88c5cf-7dae-4b76-a9ee-3833e94fc2f2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.341826} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"011280c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38e440da-f6ea-4e24-bea2-b984f38de39c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3464177} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0115dc20-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F519101e0-9d04-4910-bf4d-6f2c47e02714#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F519101e0-9d04-4910-bf4d-6f2c47e02714","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"6b683d97-f566-4d90-b6bb-c829f2c72b8a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3465748} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0112cee0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? 200 23ms","method":"GET","requestID":"0112cee0-24d1-11f0-816e-bfe403da652c","responseTime":23,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"011280c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? 200 25ms","method":"GET","requestID":"011280c0-24d1-11f0-816e-bfe403da652c","responseTime":25,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548?"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56d2c85b-3212-4e16-a0cb-8d619c184fa6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.353097} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.677933,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0115dc20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","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":"01173bb0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"0115dc20-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0","responseTime":196,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0115dc20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling 200 14ms","method":"POST","requestID":"0115dc20-24d1-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de193dd4-4af1-4b29-ac06-955f6979ae63","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3601046} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.818941,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01173bb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01173bb0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"01173bb0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"41025be55d5f7f805d89576ac1eaac4b"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling 200 9ms","method":"POST","requestID":"01173bb0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41025be55d5f7f805d89576ac1eaac4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"41025be55d5f7f805d89576ac1eaac4b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"01191070-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946637,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"41025be55d5f7f805d89576ac1eaac4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"41025be55d5f7f805d89576ac1eaac4b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82e31983-7d35-48b2-a1ef-79e901434c6e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3711338} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.459778,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01191070-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01191070-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.020814365Z"}]},"request_id":"3319fa79-2223-4a59-9abb-d418ebebdd58","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.37313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"41025be55d5f7f805d89576ac1eaac4b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"01191070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling 200 10ms","method":"POST","requestID":"01191070-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"41025be55d5f7f805d89576ac1eaac4b"} device-1 | {"level":"info","message":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? 200 12ms","method":"GET","requestID":"41025be55d5f7f805d89576ac1eaac4b","responseTime":12,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41025be55d5f7f805d89576ac1eaac4b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Building connection plan","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c75374d7-468a-4d9b-b59d-c6aa5ad2a784"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d3416b57-3bcc-4a78-b7d9-32d25a7d8beb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"caf56e71-86b3-4cf7-a8c0-3e53a2b55a41"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU","level":"info","message":"auth send jwt","requestID":"5e82740b4b0d50607895c7e6dca4fd0f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e82740b4b0d50607895c7e6dca4fd0f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e82740b4b0d50607895c7e6dca4fd0f"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.681428,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"011b0c40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559537,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5e82740b4b0d50607895c7e6dca4fd0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914053,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1M30.EzE4-C8R5wi4xr5_P3IgLdcBjh9u40Pdn_nmY_qJ_ZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5e82740b4b0d50607895c7e6dca4fd0f","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:32.110486571Z"}]},"request_id":"502d943f-92a3-45b2-a8f6-6873dc1ddffe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3883772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e82740b4b0d50607895c7e6dca4fd0f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e82740b4b0d50607895c7e6dca4fd0f"} gateway-1 | {"time_local":"29/Apr/2025:08:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e82740b4b0d50607895c7e6dca4fd0f"} device-1 | {"level":"info","message":"GET /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d? 200 10ms","method":"GET","requestID":"5e82740b4b0d50607895c7e6dca4fd0f","responseTime":10,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ca2ba945-22a9-4983-a10d-376da9b85613","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.3928318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69f00c7f-32fc-45cb-80f3-ade2bcd20dba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.392919} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f'","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f'","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 62ms","method":"POST","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c","responseTime":62,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"011b0c40-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ff08a694e7401b0f9ec0f9c4ae5b6db0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"012c9870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14975240-20b1-46e9-8848-949580800d2d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.4994109} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.206195,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"012c9870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"012c9870-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"012c9870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling 200 8ms","method":"POST","requestID":"012c9870-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"012e1f10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d90b86d2-30e3-4756-868f-93c11e34cc84","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914053.509099} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.239137,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"012e1f10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","rebac_allow":false,"scope_allow":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":"012e1f10-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"012e1f10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling 200 8ms","method":"POST","requestID":"012e1f10-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling"} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"}}},"level":"info","message":"received a callback","requestID":"6d93fb1528fab58af7a934c5dad69c9c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6d93fb1528fab58af7a934c5dad69c9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"29/Apr/2025:08:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d93fb1528fab58af7a934c5dad69c9c"} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"6d93fb1528fab58af7a934c5dad69c9c","responseTime":5,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d93fb1528fab58af7a934c5dad69c9c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","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/3e23f039-74c1-4fc7-b716-9cff6b21268f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1a90a84a2250dd6b79437af3c78d65b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1a90a84a2250dd6b79437af3c78d65b4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"}}},"level":"info","message":"received a callback","requestID":"1a90a84a2250dd6b79437af3c78d65b4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0264a340-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e23f039-74c1-4fc7-b716-9cff6b21268f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90ef05a6-848b-4544-8026-0b01cef8df67","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.5451481} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.125005,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0264a340-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f","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":"0264a340-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0264a340-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f 200 9ms","method":"GET","requestID":"0264a340-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"1a90a84a2250dd6b79437af3c78d65b4","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"1a90a84a2250dd6b79437af3c78d65b4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"026825b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"279d420b-53cc-4e30-b76b-df7dae744985","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.567706} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.188216,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"026825b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","rebac_allow":false,"scope_allow":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":"026825b0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"026825b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling 200 8ms","method":"POST","requestID":"026825b0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0269ac50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05ece032-bbd5-496d-b349-84800818956c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.5772872} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257362,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0269ac50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0269ac50-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0269ac50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling 200 8ms","method":"POST","requestID":"0269ac50-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A","level":"info","message":"auth send jwt","requestID":"9c7fb67272cd8f599574166fa20205ff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c7fb67272cd8f599574166fa20205ff","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","requestID":"9c7fb67272cd8f599574166fa20205ff"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.64506,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9c7fb67272cd8f599574166fa20205ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914055,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9c7fb67272cd8f599574166fa20205ff","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","requestID":"9c7fb67272cd8f599574166fa20205ff"} gateway-1 | {"time_local":"29/Apr/2025:08:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c7fb67272cd8f599574166fa20205ff"} experiment-1 | {"level":"info","message":"GET /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714 200 36ms","method":"GET","requestID":"9c7fb67272cd8f599574166fa20205ff","responseTime":36,"status":200,"url":"/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A","level":"info","message":"auth send jwt","requestID":"544195e25b1d90470c248491a4f257f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"544195e25b1d90470c248491a4f257f7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","requestID":"544195e25b1d90470c248491a4f257f7"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.699732,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"544195e25b1d90470c248491a4f257f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914055,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"544195e25b1d90470c248491a4f257f7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Attempting to finish experiment","requestID":"544195e25b1d90470c248491a4f257f7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"027963c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.858209,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"027963c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914055,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"027963c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3883ba8-da0f-4e8f-952b-66928d1dc548","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e23f039-74c1-4fc7-b716-9cff6b21268f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e23f039-74c1-4fc7-b716-9cff6b21268f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"71f85277-a6b6-49e7-9a3c-82ba62c4842b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.7119868} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ddf61230054e63a28b0e3ccb59a1ae4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3d48c59-a3bf-4e34-b2b4-3443bff1960e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.7123375} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ddf61230054e63a28b0e3ccb59a1ae4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f488d269815d4023855706bca00f88bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f488d269815d4023855706bca00f88bf","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"027963c0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"}}},"level":"info","message":"received a callback","requestID":"5ddf61230054e63a28b0e3ccb59a1ae4"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"}}},"level":"info","message":"received a callback","requestID":"f488d269815d4023855706bca00f88bf"} device-1 | {"data":{"peerconnection":"3e23f039-74c1-4fc7-b716-9cff6b21268f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"027963c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f 204 88ms","method":"DELETE","requestID":"027963c0-24d1-11f0-816e-bfe403da652c","responseTime":88,"status":204,"url":"/peerconnections/3e23f039-74c1-4fc7-b716-9cff6b21268f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"},"level":"info","message":"Successfully finished experiment","requestID":"544195e25b1d90470c248491a4f257f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"028d12d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c484b607-0037-445a-bba9-da471206bd42","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.8106287} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.41321,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"028d12d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"028d12d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"028d12d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling 200 10ms","method":"POST","requestID":"028d12d0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02929110-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F519101e0-9d04-4910-bf4d-6f2c47e02714': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F519101e0-9d04-4910-bf4d-6f2c47e02714","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"12b585e3-e4e5-4ff9-b928-bdfb882d1356","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.8418791} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36c1aa51-ef00-4795-8184-8f82355e78bb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.8420851} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"544195e25b1d90470c248491a4f257f7","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3883ba8-da0f-4e8f-952b-66928d1dc548","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea59029c-9a26-4078-aba2-a20ea5111a6c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.8469543} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411077,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"02929110-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548","object_type":"device","rebac_allow":false,"scope_allow":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":"02929110-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02929110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling 200 10ms","method":"POST","requestID":"02929110-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714","requestID":"544195e25b1d90470c248491a4f257f7"} gateway-1 | {"time_local":"29/Apr/2025:08:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.276","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"544195e25b1d90470c248491a4f257f7"} experiment-1 | {"level":"info","message":"DELETE /experiments/519101e0-9d04-4910-bf4d-6f2c47e02714 204 273ms","method":"DELETE","requestID":"544195e25b1d90470c248491a4f257f7","responseTime":273,"status":204,"url":"/experiments/519101e0-9d04-4910-bf4d-6f2c47e02714"} gateway-1 | {"time_local":"29/Apr/2025:08:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.861","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"376dcc9a7fa59aabf7ab73840e35b2ce"} gateway-1 | {"time_local":"29/Apr/2025:08:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.870","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0d8e49e9c749503d724e65980a052aa3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f3883ba8-da0f-4e8f-952b-66928d1dc548' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b4b5399f-1a74-4a77-985c-6dcf0ed2cd9d' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 229ms","method":"POST","requestID":"5ddf61230054e63a28b0e3ccb59a1ae4","responseTime":229,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.232","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ddf61230054e63a28b0e3ccb59a1ae4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A","level":"info","message":"auth send jwt","requestID":"df6b89facdd1a7cd1d47b9f066e1175e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 230ms","method":"POST","requestID":"f488d269815d4023855706bca00f88bf","responseTime":230,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"f488d269815d4023855706bca00f88bf"} device-1 | {"level":"info","message":"postDevices called","requestID":"df6b89facdd1a7cd1d47b9f066e1175e"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.892686,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"df6b89facdd1a7cd1d47b9f066e1175e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914055,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1NX0.Vr7uBmDnViyB8sjVyaIEQHxrfS5XWzHOocvouEYQz9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc19067d2-a2f4-4629-80ae-96436bc364c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f9fd79da-35c4-4857-b992-c1e2b4ad4970","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.988519} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c24feb1-9dc6-4763-a487-231ac40965ac","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914055.9935539} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc19067d2-a2f4-4629-80ae-96436bc364c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3a040b5b-64be-4feb-87d2-3603ddd05251","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0040743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1805c6ce-6353-4337-a5dd-10aa22367566","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0042357} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc19067d2-a2f4-4629-80ae-96436bc364c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc19067d2-a2f4-4629-80ae-96436bc364c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.004060688Z"}]},"request_id":"be144137-bba5-45f2-851d-b17a066d0b16","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0095484} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"df6b89facdd1a7cd1d47b9f066e1175e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df6b89facdd1a7cd1d47b9f066e1175e"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"df6b89facdd1a7cd1d47b9f066e1175e","responseTime":67,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"25103fcbc30d08e1402d67a85692abd5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25103fcbc30d08e1402d67a85692abd5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"25103fcbc30d08e1402d67a85692abd5"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.753757,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25103fcbc30d08e1402d67a85692abd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8378010-98d8-4ed0-86ee-0dd159249ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c4ce842c-cbf9-4067-b3be-494fb7a3bbf1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0378122} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71212d87-b9fe-4646-bc4d-9fef457a3023","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0425258} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8378010-98d8-4ed0-86ee-0dd159249ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e3b797f4-9903-48dc-b426-bbecdfb2e306","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0531049} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3192f60a-0209-4508-9b8d-b43aadd4f2e8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0533628} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8378010-98d8-4ed0-86ee-0dd159249ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8378010-98d8-4ed0-86ee-0dd159249ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.053090149Z"}]},"request_id":"5695a865-51da-449e-a03a-5489593ed59f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0570617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"25103fcbc30d08e1402d67a85692abd5"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"25103fcbc30d08e1402d67a85692abd5","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25103fcbc30d08e1402d67a85692abd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"3132d0c82bce0c019e72ead543396428"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3132d0c82bce0c019e72ead543396428","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3132d0c82bce0c019e72ead543396428"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.698911,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3132d0c82bce0c019e72ead543396428","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4df32f7-eea8-40cd-94d8-eb8fa3a286e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aec373b1-ba6a-41cd-982d-c9bb88e75e38","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.079124} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b8bf43e-b92f-47d4-881f-28d21796bff2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.083744} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4df32f7-eea8-40cd-94d8-eb8fa3a286e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"efc637d2-b8af-44d2-9d3b-fffcccf8b992","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0932713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6374d36-4c1a-4338-ac11-b7f7c414ee04","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0935366} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4df32f7-eea8-40cd-94d8-eb8fa3a286e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4df32f7-eea8-40cd-94d8-eb8fa3a286e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.093248850Z"}]},"request_id":"768f2829-7beb-4515-a09c-2541f9a56a68","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.0969172} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3132d0c82bce0c019e72ead543396428"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3132d0c82bce0c019e72ead543396428"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"3132d0c82bce0c019e72ead543396428","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"7d75d8c31d932faa989720bcdb89d8d4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7d75d8c31d932faa989720bcdb89d8d4"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.766292,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7d75d8c31d932faa989720bcdb89d8d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80d35813-dba5-44f8-a1f6-bd2c90ffdca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9da4890f-e5f6-453a-99ea-1d707f19c636","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.1428595} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0b14808-af8e-4e20-a2bc-10b9c20a75bf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.147326} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80d35813-dba5-44f8-a1f6-bd2c90ffdca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"74ab6f07-465c-426f-a758-e92f97f37f00","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.1787593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d139e11-2ab2-4464-ac87-8e2ce409d726","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.1789007} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80d35813-dba5-44f8-a1f6-bd2c90ffdca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80d35813-dba5-44f8-a1f6-bd2c90ffdca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.178746422Z"}]},"request_id":"8020100b-26b6-4797-9250-88acec1ce625","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.1824658} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7d75d8c31d932faa989720bcdb89d8d4"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"7d75d8c31d932faa989720bcdb89d8d4","responseTime":81,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d75d8c31d932faa989720bcdb89d8d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"3b75d793837ac8491bfac38fd04f6f0d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b75d793837ac8491bfac38fd04f6f0d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3b75d793837ac8491bfac38fd04f6f0d"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.741883,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3b75d793837ac8491bfac38fd04f6f0d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fb14f21-e1bb-489e-82b0-78b63bafb1c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36547f9a-a059-409b-afcb-c9b2c0c364f9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.227788} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ec2fc14-75c5-4f74-bc1c-d0ecf2b8d669","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.2314427} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fb14f21-e1bb-489e-82b0-78b63bafb1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"2926d809-d37c-4a59-bc8b-3dedda4f48c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.2409096} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b392f33a-365e-4f3c-b478-2732b6e09b5c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.2409625} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fb14f21-e1bb-489e-82b0-78b63bafb1c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2fb14f21-e1bb-489e-82b0-78b63bafb1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.240888906Z"}]},"request_id":"b536f2fb-2624-4c1c-9967-a66ca00c2d34","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.2445116} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3b75d793837ac8491bfac38fd04f6f0d"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +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":"3b75d793837ac8491bfac38fd04f6f0d"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"3b75d793837ac8491bfac38fd04f6f0d","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"923693c8fd1fcd62f525e04b0406d2a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"923693c8fd1fcd62f525e04b0406d2a2"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.88639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"923693c8fd1fcd62f525e04b0406d2a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f244617-02da-4216-98ea-66d8e7182669","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5fb237d6-0a92-4544-a597-6bde98344423","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.285779} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4647f1f-9cdd-45ea-9063-8ba444a1e181","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.2896714} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f244617-02da-4216-98ea-66d8e7182669","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"46140998-74a0-4796-8713-e2712b7763f3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3261116} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34359814-2a67-4f44-9ae9-ffe9f3d94b48","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3261957} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f244617-02da-4216-98ea-66d8e7182669","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f244617-02da-4216-98ea-66d8e7182669","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.326097429Z"}]},"request_id":"ffd44d11-84d3-4549-9952-4009c198e01b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3300323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"923693c8fd1fcd62f525e04b0406d2a2"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"923693c8fd1fcd62f525e04b0406d2a2"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"923693c8fd1fcd62f525e04b0406d2a2","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"65d1139e8fc17a92e5dd26c859211a64"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"65d1139e8fc17a92e5dd26c859211a64","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65d1139e8fc17a92e5dd26c859211a64"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.68699,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"65d1139e8fc17a92e5dd26c859211a64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34595ef5-4faa-4863-9dfc-439a6f7a5b08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"419693d6-f890-475a-b509-02ad22a92399","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.374694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d50cc5b9-429b-44ec-8f1e-16c2d57ad8a1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3785565} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34595ef5-4faa-4863-9dfc-439a6f7a5b08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"01af0df4-7e01-4e6a-a765-ca984acb3af4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3880134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eac65584-540d-49e9-9c46-24e2e6942d3a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3882687} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34595ef5-4faa-4863-9dfc-439a6f7a5b08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34595ef5-4faa-4863-9dfc-439a6f7a5b08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.387996519Z"}]},"request_id":"143b4738-1c0b-48c7-9de1-64e93d214d63","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.3918037} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65d1139e8fc17a92e5dd26c859211a64"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"65d1139e8fc17a92e5dd26c859211a64","responseTime":81,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65d1139e8fc17a92e5dd26c859211a64"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"933231d9251d90d767b9f3fbc0256049"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"933231d9251d90d767b9f3fbc0256049"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.675416,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"933231d9251d90d767b9f3fbc0256049","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aedbf98-757e-438a-bec0-6b01304cee1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6e4b1cc-5f36-4263-9a4b-87d9e7b8a4a3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.4372354} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80ff77ee-5f1c-4923-9124-eab45c89752e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.4410362} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aedbf98-757e-438a-bec0-6b01304cee1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ab4f97f0-9fd1-4483-9261-5cbb4ad7fef9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.477525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45f5deaa-340e-4373-a275-74a27630ee0b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.4777796} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aedbf98-757e-438a-bec0-6b01304cee1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aedbf98-757e-438a-bec0-6b01304cee1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.477507164Z"}]},"request_id":"314c9bd0-c6d4-431a-b172-d010fbdbbf09","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.4814563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"933231d9251d90d767b9f3fbc0256049"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"933231d9251d90d767b9f3fbc0256049","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +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":"933231d9251d90d767b9f3fbc0256049"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"facdbe90acdb45a7e263a60e655c79de"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"facdbe90acdb45a7e263a60e655c79de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"facdbe90acdb45a7e263a60e655c79de"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877139,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"facdbe90acdb45a7e263a60e655c79de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fddd049-2539-417b-abe1-132e8dd9d014","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"81b27bf9-6e1d-4ed0-9238-21d9daf31894","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.5285878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8df07b2f-cb67-4ac9-8537-557872e8d80f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.532581} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fddd049-2539-417b-abe1-132e8dd9d014","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"693f1999-6473-427a-a578-67ce0b6d94d2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.5622654} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"568b90ff-7b29-4990-8c90-c24915b2970c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.5624988} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fddd049-2539-417b-abe1-132e8dd9d014","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fddd049-2539-417b-abe1-132e8dd9d014","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.562248430Z"}]},"request_id":"16fd0495-f45b-4174-bdce-afe79a9a37ba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.5682654} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"facdbe90acdb45a7e263a60e655c79de"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"facdbe90acdb45a7e263a60e655c79de","responseTime":82,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"facdbe90acdb45a7e263a60e655c79de"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"45eaef2b973d394607c9ea951ccc0152"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"45eaef2b973d394607c9ea951ccc0152"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.701137,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"45eaef2b973d394607c9ea951ccc0152","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52be1da6-335e-454f-a86f-5ef123d9dafd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5385b1dd-56ae-4192-8d4e-8b78b7164621","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.5882347} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77520284-55b5-446b-a30d-87bb6c94b103","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.612218} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52be1da6-335e-454f-a86f-5ef123d9dafd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"dc06a291-9c48-420c-93f2-2844a69e1f11","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.6211405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b25c4a8-5dd2-4952-a65f-1f36b9925b01","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.621352} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52be1da6-335e-454f-a86f-5ef123d9dafd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52be1da6-335e-454f-a86f-5ef123d9dafd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.621127757Z"}]},"request_id":"55f0cf2a-2a79-48bd-98bd-8a85f7d4b944","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.6245275} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"45eaef2b973d394607c9ea951ccc0152"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"45eaef2b973d394607c9ea951ccc0152","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45eaef2b973d394607c9ea951ccc0152"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"13c64563637cf55802d08e8ddc888eb7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"13c64563637cf55802d08e8ddc888eb7"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.6853,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"13c64563637cf55802d08e8ddc888eb7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0f9e79d-bedc-4808-a6e3-a2d95896fc1a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.673231} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbda13e6-2dc3-4e68-bf07-30aefed80e15","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.6772225} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ce5b4ef5-b183-4f7a-a279-2ff4e7ef2bdd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.706701} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aad9a3a-5c91-47cc-9b29-7465fc6b3ffc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.706909} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.706683426Z"}]},"request_id":"8768ede9-77fd-490c-89cb-4bd5ef0f5094","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7109087} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"13c64563637cf55802d08e8ddc888eb7"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13c64563637cf55802d08e8ddc888eb7"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"13c64563637cf55802d08e8ddc888eb7","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"7ffc57635491c3db1d5458e027217294"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ffc57635491c3db1d5458e027217294","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ffc57635491c3db1d5458e027217294"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.644359,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7ffc57635491c3db1d5458e027217294","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04671ee2-5468-4565-991d-88645ca93e41","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7539866} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74f50df4-aad8-4736-94bf-43144fb0ac23","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7580013} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"82cc9728-97c1-4fe6-b60e-12de78bcb1d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7683575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0197db47-9a42-4434-803c-2d6d01738803","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7684453} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.768343021Z"}]},"request_id":"81f426db-288f-48eb-aad7-5a01b54ae03a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.7722762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ffc57635491c3db1d5458e027217294"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ffc57635491c3db1d5458e027217294"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"7ffc57635491c3db1d5458e027217294","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"91f395a4e8b8a6383d43ff9bc669c851"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"91f395a4e8b8a6383d43ff9bc669c851"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.634049,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"91f395a4e8b8a6383d43ff9bc669c851","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8043989e-97e3-4fae-8b96-d9eaab8e8937","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.821646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c75647cc-1bfa-4b2d-b47a-732bd01780b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.826073} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"44ac699a-c885-4403-8471-841123120854","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.8569684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d7d85f7-9eef-4cf5-966e-3ea30e703664","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.8570886} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.856954703Z"}]},"request_id":"4823a48b-dee3-4574-b057-431a026be735","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.8609562} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"91f395a4e8b8a6383d43ff9bc669c851"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91f395a4e8b8a6383d43ff9bc669c851"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"91f395a4e8b8a6383d43ff9bc669c851","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"688836d253e4871b08a9dc5440a1fd90"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"688836d253e4871b08a9dc5440a1fd90","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"688836d253e4871b08a9dc5440a1fd90"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.854825,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"688836d253e4871b08a9dc5440a1fd90","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"688836d253e4871b08a9dc5440a1fd90","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.706683426Z"}]},"request_id":"818619ce-5a55-45ab-ad53-6130af23609e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.902641} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"688836d253e4871b08a9dc5440a1fd90","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4786fa35-c966-4f81-9d9a-9c99ad21d8d2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.9069695} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"688836d253e4871b08a9dc5440a1fd90","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.706683426Z"}]},"request_id":"199f8e6d-5ef1-44a4-b5f1-454db1970580","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.9540088} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"688836d253e4871b08a9dc5440a1fd90","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"688836d253e4871b08a9dc5440a1fd90"} device-1 | {"level":"info","message":"PATCH /devices/b61f2472-aab9-4877-98ee-c7221557412c? 200 86ms","method":"PATCH","requestID":"688836d253e4871b08a9dc5440a1fd90","responseTime":86,"status":200,"url":"/devices/b61f2472-aab9-4877-98ee-c7221557412c?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b61f2472-aab9-4877-98ee-c7221557412c? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"688836d253e4871b08a9dc5440a1fd90"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8","level":"info","message":"auth send jwt","requestID":"1d3e32e88650b6865bfcdffd4fc98d11"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1d3e32e88650b6865bfcdffd4fc98d11"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802069,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d3e32e88650b6865bfcdffd4fc98d11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914056,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1Nn0.SCO-oM5NQjy5gpxAokA3dr3Gwb4wL2RE1YP4bzyMGY8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.768343021Z"}]},"request_id":"e83b25b4-d878-4477-b758-00f77b694580","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.9715357} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","responseTime":24,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e56891ff-6cc6-481c-9584-7ef60de92e33","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914056.9982474} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.768343021Z"}]},"request_id":"24cc61b7-a1d9-4960-8ce2-5074a760c920","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.0431106} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1d3e32e88650b6865bfcdffd4fc98d11"} device-1 | {"level":"info","message":"PATCH /devices/6f148239-cb3a-47f5-af28-f523682b46eb? 200 84ms","method":"PATCH","requestID":"1d3e32e88650b6865bfcdffd4fc98d11","responseTime":84,"status":200,"url":"/devices/6f148239-cb3a-47f5-af28-f523682b46eb?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6f148239-cb3a-47f5-af28-f523682b46eb? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d3e32e88650b6865bfcdffd4fc98d11"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985386,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.856954703Z"}]},"request_id":"e9d309cf-4a8a-455a-b4eb-ac74d8fd7f68","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.065224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e0ea514-a9fa-4834-9fa6-1b4e8df58597","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.069429} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.856954703Z"}]},"request_id":"ba8b9719-5a1e-4a46-a003-742715cea5a9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.0802772} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03"} device-1 | {"level":"info","message":"PATCH /devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3? 200 35ms","method":"PATCH","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03","responseTime":35,"status":200,"url":"/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c2d4e9d8eefc23f291a6eab1aea2d03"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025193,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb61f2472-aab9-4877-98ee-c7221557412c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.706683426Z"}]},"request_id":"ba7df5cf-6189-46b4-aad3-ddb3adce8fec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.1005683} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623615,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81597,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c19067d2-a2f4-4629-80ae-96436bc364c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/c19067d2-a2f4-4629-80ae-96436bc364c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8378010-98d8-4ed0-86ee-0dd159249ac7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e8378010-98d8-4ed0-86ee-0dd159249ac7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901478,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767553,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4df32f7-eea8-40cd-94d8-eb8fa3a286e8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b4df32f7-eea8-40cd-94d8-eb8fa3a286e8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b61f2472-aab9-4877-98ee-c7221557412c? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415"} device-1 | {"level":"info","message":"GET /devices/b61f2472-aab9-4877-98ee-c7221557412c? 200 26ms","method":"GET","requestID":"06c389f84fa8ea05a0e5cd16aa6c0415","responseTime":26,"status":200,"url":"/devices/b61f2472-aab9-4877-98ee-c7221557412c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"8b7a8d0e50a905bdd869d063c1816fb8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b7a8d0e50a905bdd869d063c1816fb8"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326054,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6f148239-cb3a-47f5-af28-f523682b46eb","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f148239-cb3a-47f5-af28-f523682b46eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.768343021Z"}]},"request_id":"e295faf9-999e-44c0-a485-58ac30126c64","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.1343417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743704,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.549995,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.509731,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80d35813-dba5-44f8-a1f6-bd2c90ffdca7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/80d35813-dba5-44f8-a1f6-bd2c90ffdca7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2fb14f21-e1bb-489e-82b0-78b63bafb1c4","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2fb14f21-e1bb-489e-82b0-78b63bafb1c4","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f244617-02da-4216-98ea-66d8e7182669","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f244617-02da-4216-98ea-66d8e7182669","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698949,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.491101,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701894,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34595ef5-4faa-4863-9dfc-439a6f7a5b08","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8b7a8d0e50a905bdd869d063c1816fb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/34595ef5-4faa-4863-9dfc-439a6f7a5b08","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b7a8d0e50a905bdd869d063c1816fb8"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f148239-cb3a-47f5-af28-f523682b46eb? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b7a8d0e50a905bdd869d063c1816fb8"} device-1 | {"level":"info","message":"GET /devices/6f148239-cb3a-47f5-af28-f523682b46eb? 200 30ms","method":"GET","requestID":"8b7a8d0e50a905bdd869d063c1816fb8","responseTime":30,"status":200,"url":"/devices/6f148239-cb3a-47f5-af28-f523682b46eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"3e13ff067ba0bc4335d24d56906e9a40"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3e13ff067ba0bc4335d24d56906e9a40"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675568,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e13ff067ba0bc4335d24d56906e9a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d7d2c94-0abc-46ae-adac-3acd03f786d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:36.856954703Z"}]},"request_id":"2832c83f-c3ad-4bc3-a4c5-50eb766b1644","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.187676} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41094","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653923,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51440","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.510961,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.426295,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8aedbf98-757e-438a-bec0-6b01304cee1a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e13ff067ba0bc4335d24d56906e9a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8aedbf98-757e-438a-bec0-6b01304cee1a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fddd049-2539-417b-abe1-132e8dd9d014","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e13ff067ba0bc4335d24d56906e9a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4fddd049-2539-417b-abe1-132e8dd9d014","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52be1da6-335e-454f-a86f-5ef123d9dafd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e13ff067ba0bc4335d24d56906e9a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/52be1da6-335e-454f-a86f-5ef123d9dafd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.576896,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e13ff067ba0bc4335d24d56906e9a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b61f2472-aab9-4877-98ee-c7221557412c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3e13ff067ba0bc4335d24d56906e9a40"} device-1 | {"level":"info","message":"GET /devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3? 200 42ms","method":"GET","requestID":"3e13ff067ba0bc4335d24d56906e9a40","responseTime":42,"status":200,"url":"/devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d7d2c94-0abc-46ae-adac-3acd03f786d3? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e13ff067ba0bc4335d24d56906e9a40"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"4251fe5de0b908ac75c3016955c48c66"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4251fe5de0b908ac75c3016955c48c66"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":24.830985,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4251fe5de0b908ac75c3016955c48c66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3366af9-f21f-40a6-a5be-ec5e521ad5a6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.2511048} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f93d2ba3-888d-47c5-b74c-09bcc745559b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.2550426} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"43ef1281-a275-4dae-b16b-66962ba1f91b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.2892325} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b302de0-7f2a-482d-ba84-876346cb6a46","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.2893593} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.289213633Z"}]},"request_id":"e0d251b1-e6e6-4c2c-a832-bf96cb22b928","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.2931442} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4251fe5de0b908ac75c3016955c48c66"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"4251fe5de0b908ac75c3016955c48c66","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4251fe5de0b908ac75c3016955c48c66"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"813e595a61d793fc4a9c6176e922b118"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"813e595a61d793fc4a9c6176e922b118"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.699803,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"813e595a61d793fc4a9c6176e922b118","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1f118e28-1371-442c-ac94-10f31c540fc9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.3383214} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36ad671f-23f9-4c05-a477-a8e25072e2c1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.3419032} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9729a433-786f-4145-9521-088b84e57e18","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.3777092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d022b9f4-1755-4686-ac3c-73d8d18be3f0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.377891} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.377693894Z"}]},"request_id":"927fc5ca-8fc9-42d2-896e-751f4756aa62","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.3812492} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"813e595a61d793fc4a9c6176e922b118"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"813e595a61d793fc4a9c6176e922b118"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"813e595a61d793fc4a9c6176e922b118","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao","level":"info","message":"auth send jwt","requestID":"bd0638b880d0385d22553e39de2ab1f4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd0638b880d0385d22553e39de2ab1f4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd0638b880d0385d22553e39de2ab1f4"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.654329,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bd0638b880d0385d22553e39de2ab1f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914057,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1N30.zF9dzLFCnQ2Ss1C7Q7klFoS2T1CNk-ysAkWrjxe_9Ao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4df18176-90f9-46e9-9371-d27ee29f6691","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.4268787} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97479599-f83c-4266-a980-96b1b58293c3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.4306617} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9b1c8d54-ab32-423d-b088-92db940fe795","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.4403827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb8e0b72-2d86-4842-b3ca-aa2a1a9f0674","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.440666} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.440365325Z"}]},"request_id":"82c1e27f-8920-433a-8884-fad71d51914e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914057.4450095} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd0638b880d0385d22553e39de2ab1f4"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"bd0638b880d0385d22553e39de2ab1f4","responseTime":59,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd0638b880d0385d22553e39de2ab1f4"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dbc219ff75407d5f8342d7b93c66e34","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dbc219ff75407d5f8342d7b93c66e34","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/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":"8dbc219ff75407d5f8342d7b93c66e34"} device-1 | {"level":"info","message":"OPTIONS /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/websocket 200 1ms","method":"OPTIONS","requestID":"8dbc219ff75407d5f8342d7b93c66e34","responseTime":1,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww","level":"info","message":"auth send jwt","requestID":"16f32d5737edf490e74253d1fad3a577"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16f32d5737edf490e74253d1fad3a577","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"16f32d5737edf490e74253d1fad3a577"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222452,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"16f32d5737edf490e74253d1fad3a577","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"16f32d5737edf490e74253d1fad3a577","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2dc69160e5442169554965881b97b406","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2dc69160e5442169554965881b97b406","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/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":"2dc69160e5442169554965881b97b406"} device-1 | {"level":"info","message":"OPTIONS /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/websocket 200 1ms","method":"OPTIONS","requestID":"2dc69160e5442169554965881b97b406","responseTime":1,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww","level":"info","message":"auth send jwt","requestID":"3b99b569b6479c9bc9cd0bea5b48721e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3b99b569b6479c9bc9cd0bea5b48721e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b99b569b6479c9bc9cd0bea5b48721e"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.904728,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3b99b569b6479c9bc9cd0bea5b48721e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3b99b569b6479c9bc9cd0bea5b48721e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"16f32d5737edf490e74253d1fad3a577"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"16f32d5737edf490e74253d1fad3a577"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/websocket 200 43ms","method":"POST","requestID":"16f32d5737edf490e74253d1fad3a577","responseTime":43,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b99b569b6479c9bc9cd0bea5b48721e"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/websocket 200 22ms","method":"POST","requestID":"3b99b569b6479c9bc9cd0bea5b48721e","responseTime":22,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/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":"3b99b569b6479c9bc9cd0bea5b48721e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww","level":"info","message":"auth send jwt","requestID":"e34c7b879820c5496d2534b457aa7e0f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e34c7b879820c5496d2534b457aa7e0f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e34c7b879820c5496d2534b457aa7e0f"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727173,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e34c7b879820c5496d2534b457aa7e0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e34c7b879820c5496d2534b457aa7e0f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.440365325Z"}]},"request_id":"ba9875d8-2b1d-4283-b112-198475b16ed0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.76048} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e34c7b879820c5496d2534b457aa7e0f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e34c7b879820c5496d2534b457aa7e0f"} device-1 | {"level":"info","message":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? 200 9ms","method":"GET","requestID":"e34c7b879820c5496d2534b457aa7e0f","responseTime":9,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e34c7b879820c5496d2534b457aa7e0f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww","level":"info","message":"auth send jwt","requestID":"1524e29f3f40a11c74d301446f5a1528"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1524e29f3f40a11c74d301446f5a1528","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1524e29f3f40a11c74d301446f5a1528"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.693003,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1524e29f3f40a11c74d301446f5a1528","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1524e29f3f40a11c74d301446f5a1528","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to run experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to book experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully booked experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04ee8270-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637226,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b137022-1a4e-4e53-b4f6-975b0c85bf4d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2b137022-1a4e-4e53-b4f6-975b0c85bf4d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90916,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04ee8270-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04ee8270-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b137022-1a4e-4e53-b4f6-975b0c85bf4d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.377693894Z"}]},"request_id":"1e6387a2-d5a7-4e22-b33f-b1f9ebcf66bc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.8063452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.440365325Z"}]},"request_id":"f4cf4d5c-a890-481b-b24a-9ac6728cfa2e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.8072307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04ee8270-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04ee8270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? 200 13ms","method":"GET","requestID":"04ee8270-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e?"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645918,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/2b137022-1a4e-4e53-b4f6-975b0c85bf4d? 200 19ms","method":"GET","requestID":"04ee3450-24d1-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/2b137022-1a4e-4e53-b4f6-975b0c85bf4d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Setting up experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully set up experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"04fbc8e0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully running experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717649,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68506,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.550343,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a506107-62e7-42b0-94a7-adba8b98c0ad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.891945} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"04fbc8e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","rebac_allow":false,"scope_allow":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":"04fbc8e0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.289213633Z"}]},"request_id":"8d04577e-8c78-495f-a435-463fd520b101","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.8941615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.440365325Z"}]},"request_id":"f0fd1476-6852-41e6-a82d-b08a2df5dc21","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.8971868} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"04fbc8e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling 200 36ms","method":"POST","requestID":"04fbc8e0-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bd0ca33-fe0a-43c3-bedf-31efff1fbf97#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"668d8aec-d0ea-433f-adcf-182bc545296f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9267774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a30902d6-fc72-4ae6-941b-afa6ce2aa10f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9270475} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05020a70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"1524e29f3f40a11c74d301446f5a1528","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/69593e09-afae-4ba3-aa67-9d8a6398a668? 200 47ms","method":"GET","requestID":"04fb2ca0-24d1-11f0-816e-bfe403da652c","responseTime":47,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} device-1 | {"level":"info","message":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? 200 47ms","method":"GET","requestID":"04fb7ac0-24d1-11f0-816e-bfe403da652c","responseTime":47,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3598e09e-d611-494e-a55e-cbf0b0af880b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9322724} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.685764,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05020a70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"05020a70-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05036a00-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1524e29f3f40a11c74d301446f5a1528"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05020a70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling 200 11ms","method":"POST","requestID":"05020a70-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"1524e29f3f40a11c74d301446f5a1528","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9155aad1-18fd-48fb-8d27-fbc1722862fe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9404373} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.719217,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05036a00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"05036a00-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05036a00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling 200 36ms","method":"POST","requestID":"05036a00-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww","level":"info","message":"auth send jwt","requestID":"2f85c87e522636aace9f3b57e717e47e"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"2f85c87e522636aace9f3b57e717e47e","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f85c87e522636aace9f3b57e717e47e"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"050a47d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.895299,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f85c87e522636aace9f3b57e717e47e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f85c87e522636aace9f3b57e717e47e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07: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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.289213633Z"}]},"request_id":"6a16bb56-7660-4fd4-abc7-b083c4050eea","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9890501} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dd78bd6-f0b1-4e00-8674-d0ee0c085fac","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914059.9893382} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2f85c87e522636aace9f3b57e717e47e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.595659,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"050a47d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","rebac_allow":false,"scope_allow":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":"050a47d0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f85c87e522636aace9f3b57e717e47e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69593e09-afae-4ba3-aa67-9d8a6398a668? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f85c87e522636aace9f3b57e717e47e"} device-1 | {"level":"info","message":"GET /devices/69593e09-afae-4ba3-aa67-9d8a6398a668? 200 42ms","method":"GET","requestID":"2f85c87e522636aace9f3b57e717e47e","responseTime":42,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"050a47d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling 200 38ms","method":"POST","requestID":"050a47d0-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Building connection plan","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cf598023-4829-4fd9-af8b-878d4c9a1d34"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f37aa39c-701b-4ef4-9f9c-f44d37299f62"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a5e4ee11-862d-41a2-bc04-af5391e50966"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1524e29f3f40a11c74d301446f5a1528"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1524e29f3f40a11c74d301446f5a1528"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8","level":"info","message":"auth send jwt","requestID":"8ba941ee3e8493716162ab55a733e86c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ba941ee3e8493716162ab55a733e86c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ba941ee3e8493716162ab55a733e86c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648889,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0510b070-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914059,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA1OX0.0Sf53SZoyKxiSrkAN8DX2ee3Oncb0pQVn-EQwaL8Hww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0510b070-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934813,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8ba941ee3e8493716162ab55a733e86c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ba941ee3e8493716162ab55a733e86c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:37.440365325Z"}]},"request_id":"c76a8b97-336f-47d9-9768-ce754dfba93c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.0316699} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ba941ee3e8493716162ab55a733e86c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ba941ee3e8493716162ab55a733e86c"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ba941ee3e8493716162ab55a733e86c"} device-1 | {"level":"info","message":"GET /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e? 200 11ms","method":"GET","requestID":"8ba941ee3e8493716162ab55a733e86c","responseTime":11,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"87b1adb1-6609-4325-9e20-46c9aa067a30","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.035799} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df916ddd-f7ab-47be-bca6-3ad47103dee9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.0360034} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"0510b070-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a'","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a'","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"0510b070-24d1-11f0-816e-bfe403da652c","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"0510b070-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1524e29f3f40a11c74d301446f5a1528"} device-1 | {"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0520b600-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b2fc853-158a-4734-8abd-0b76e431dfb0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.1336102} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.151614,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0520b600-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0520b600-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 3428444519893237914 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:t1YK\r\na=ice-pwd:QyDv7XNd0MnqcavFl7vlgEuz\r\na=ice-options:trickle\r\na=fingerprint:sha-256 91:A4:09:E9:AD:28:B0:34:D4:D7:84:30:82:3B:A9:B6:E0:F6:2D:A0:6F:94:47:4A:91:53:C0:F9:9C:F0:F7:6D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0520b600-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling 200 36ms","method":"POST","requestID":"0520b600-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05268260-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9e557df-27a3-48fb-bf45-d317b02be5af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.1711454} device-1 | {"content":{"sdp":"v=0\r\no=- 3451244429871087948 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:3enB\r\na=ice-pwd:0r/ivBYEdkClMlaRSoGEgkCb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4F:EF:54:FC:C0:98:74:E4:E3:34:9F:38:63:82:D4:77:22:66:AE:C9:EB:24:D0:6E:E8:71:EC:15:C4:A4:40:75\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.864689,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05268260-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"content":{"candidate":"candidate:2480278592 1 udp 2113937151 4a94a371-c9ae-48ed-a188-f019bdf2bc06.local 45603 typ host generation 0 ufrag 3enB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"05268260-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05268260-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling 200 11ms","method":"POST","requestID":"05268260-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling"} device-1 | {"content":{"candidate":"candidate:193941307 1 udp 2113937151 f5799ed9-2bd9-4cf4-9650-5666690b337a.local 35306 typ host generation 0 ufrag t1YK network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","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/94d93ec4-512e-4b41-8e72-feec408cff8a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"274f83afa60d9611813cc4eb9b506b13","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"274f83afa60d9611813cc4eb9b506b13","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"}}},"level":"info","message":"received a callback","requestID":"274f83afa60d9611813cc4eb9b506b13"} device-1 | {"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"274f83afa60d9611813cc4eb9b506b13","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"274f83afa60d9611813cc4eb9b506b13"} device-1 | {"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","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/94d93ec4-512e-4b41-8e72-feec408cff8a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20ce48cf456a9fcd40e8c2aa7a05264b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"20ce48cf456a9fcd40e8c2aa7a05264b","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"}}},"level":"info","message":"received a callback","requestID":"20ce48cf456a9fcd40e8c2aa7a05264b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"05379960-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94d93ec4-512e-4b41-8e72-feec408cff8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af9acfa2-8fd0-4ded-bebb-7f44d89081fd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.306504} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.649908,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05379960-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"05379960-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"05379960-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a 200 32ms","method":"GET","requestID":"05379960-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8","level":"info","message":"auth send jwt","requestID":"13fd796d0034656d48ff211bb40bff1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13fd796d0034656d48ff211bb40bff1e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","requestID":"13fd796d0034656d48ff211bb40bff1e"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.749154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"13fd796d0034656d48ff211bb40bff1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"13fd796d0034656d48ff211bb40bff1e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"20ce48cf456a9fcd40e8c2aa7a05264b","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"20ce48cf456a9fcd40e8c2aa7a05264b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"05463f60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","requestID":"13fd796d0034656d48ff211bb40bff1e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13fd796d0034656d48ff211bb40bff1e"} experiment-1 | {"level":"info","message":"GET /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97 200 74ms","method":"GET","requestID":"13fd796d0034656d48ff211bb40bff1e","responseTime":74,"status":200,"url":"/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c09f6f72-0265-4385-8b0a-7bbd09099dce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.4028678} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672285,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05463f60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"05463f60-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8","level":"info","message":"auth send jwt","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd9a3b82c99d7d7c364ef79009148f23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"05463f60-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling 200 33ms","method":"POST","requestID":"05463f60-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.828851,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"054be4b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cd9a3b82c99d7d7c364ef79009148f23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cd9a3b82c99d7d7c364ef79009148f23","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d13b9a57-8ca7-467c-9b3b-701611c43e46","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.4158845} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.53081,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"054be4b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","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":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Attempting to finish experiment","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"054be4b0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"054d1d30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"054be4b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling 200 10ms","method":"POST","requestID":"054be4b0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.767205,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"054d1d30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"054d1d30-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","device":"69593e09-afae-4ba3-aa67-9d8a6398a668","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a","device":"04ac32e3-60e6-4943-b642-a7f2bdb17d6e","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/94d93ec4-512e-4b41-8e72-feec408cff8a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a176429a1c5435fc55b24f143c760fc4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a176429a1c5435fc55b24f143c760fc4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff6962ca657f13a1575652fe3891e09a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94d93ec4-512e-4b41-8e72-feec408cff8a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94d93ec4-512e-4b41-8e72-feec408cff8a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"e1cbeb74-8044-4d5e-936b-45630eb40d6d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.4630375} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"}}},"level":"info","message":"received a callback","requestID":"a176429a1c5435fc55b24f143c760fc4"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff6962ca657f13a1575652fe3891e09a","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42f6f5f3-e81c-4c77-b78c-c15661fda881","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.463422} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"}}},"level":"info","message":"received a callback","requestID":"ff6962ca657f13a1575652fe3891e09a"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"054d1d30-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"94d93ec4-512e-4b41-8e72-feec408cff8a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"054d1d30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a 204 234ms","method":"DELETE","requestID":"054d1d30-24d1-11f0-816e-bfe403da652c","responseTime":234,"status":204,"url":"/peerconnections/94d93ec4-512e-4b41-8e72-feec408cff8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"},"level":"info","message":"Successfully finished experiment","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"057a20a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69593e09-afae-4ba3-aa67-9d8a6398a668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2eba4a9-3ea4-4fc5-9b7e-8f1f8623e7c3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.722393} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.442292,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"057a20a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668","object_type":"device","rebac_allow":false,"scope_allow":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":"057a20a0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"057a20a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling 200 15ms","method":"POST","requestID":"057a20a0-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/69593e09-afae-4ba3-aa67-9d8a6398a668/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"057cdfc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bd0ca33-fe0a-43c3-bedf-31efff1fbf97': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"7e77e70a-300a-4260-a1a6-86dd4d4eed54","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.7373075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"393e1d5a-8bb6-4afa-9865-fe2297a114da","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.7376082} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04ac32e3-60e6-4943-b642-a7f2bdb17d6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eba26c09-011d-45c6-9edd-959e470e1be0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.7408135} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"cd9a3b82c99d7d7c364ef79009148f23","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.345475,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"057cdfc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e","object_type":"device","rebac_allow":false,"scope_allow":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":"057cdfc0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"057cdfc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling 200 17ms","method":"POST","requestID":"057cdfc0-24d1-11f0-816e-bfe403da652c","responseTime":17,"status":200,"url":"/devices/04ac32e3-60e6-4943-b642-a7f2bdb17d6e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.440","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd9a3b82c99d7d7c364ef79009148f23"} experiment-1 | {"level":"info","message":"DELETE /experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97 204 438ms","method":"DELETE","requestID":"cd9a3b82c99d7d7c364ef79009148f23","responseTime":438,"status":204,"url":"/experiments/4bd0ca33-fe0a-43c3-bedf-31efff1fbf97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 383ms","method":"POST","requestID":"a176429a1c5435fc55b24f143c760fc4","responseTime":383,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.386","http_referrer":"","http_user_agent":"node-fetch","requestID":"a176429a1c5435fc55b24f143c760fc4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 383ms","method":"POST","requestID":"ff6962ca657f13a1575652fe3891e09a","responseTime":383,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.387","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff6962ca657f13a1575652fe3891e09a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8","level":"info","message":"auth send jwt","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.106","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"35e144873822cb91bcceacf33511cdf2"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.933467,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","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/04ac32e3-60e6-4943-b642-a7f2bdb17d6e' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"1.123","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"245e709aa392db19e7717a61d2f5e2a4"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/69593e09-afae-4ba3-aa67-9d8a6398a668' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41c97ea5-1159-43de-aa2f-17ad9db254f4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.8918967} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fccde5d7-80bf-42b3-a94e-f8e6ef9aa4bf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.8965504} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ee090455-ec46-4601-9f5d-88492bab3956","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9065795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a082885-1ed3-4975-80e6-8c6855bd027a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9066663} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"ec0731e3-4f0b-457f-8235-bd0d505e203b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.934582} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"61bbeb7df7dc209635fac4be6eb3a0dc","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8","level":"info","message":"auth send jwt","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.637532,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914060,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MH0.Uv0w94GcleEi_CBxrt7qUCQKoS46Onm5h4BqSpqjxN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e347d78f-5356-4ce7-8193-938e067bdf84","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.956717} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":22,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba4d0479-4641-4df2-8320-7835bf942eef","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9809647} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"faaa6ca7-fac5-4bbe-be7e-e76944565def","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9919395} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0caa6f59-3358-4afd-a548-55e9f1f568f9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9920955} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.991923915Z"}]},"request_id":"11784046-5ec5-4b3b-be5c-32f8291ebe39","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914060.9955204} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac"} gateway-1 | {"time_local":"29/Apr/2025:08:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"11c8cff4566c39dfd92fe7cb1a9ef4ac","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MX0.Ngrw2ToZBFpLnBv4izSKgWhjZplptd0dQtfSID5mkR0","level":"info","message":"auth send jwt","requestID":"ce95457f4e19802b6b31047097e78238"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ce95457f4e19802b6b31047097e78238","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ce95457f4e19802b6b31047097e78238"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768039,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ce95457f4e19802b6b31047097e78238","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914061,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MX0.Ngrw2ToZBFpLnBv4izSKgWhjZplptd0dQtfSID5mkR0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce95457f4e19802b6b31047097e78238","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"6c965917-9737-43d5-a234-1bbaa5574dcf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914061.9081657} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce95457f4e19802b6b31047097e78238","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2db073c7-6533-4cdc-ab72-9964b9d443e1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914061.9123569} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ce95457f4e19802b6b31047097e78238","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"728969f2-360f-4e04-8929-d1b0e324b2dc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914061.9452827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce95457f4e19802b6b31047097e78238","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ce95457f4e19802b6b31047097e78238"} gateway-1 | {"time_local":"29/Apr/2025:08:07:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ce95457f4e19802b6b31047097e78238"} device-1 | {"level":"info","message":"PATCH /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c 200 48ms","method":"PATCH","requestID":"ce95457f4e19802b6b31047097e78238","responseTime":48,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MX0.Ngrw2ToZBFpLnBv4izSKgWhjZplptd0dQtfSID5mkR0","level":"info","message":"auth send jwt","requestID":"23b2da3a22bf6666734bc0e41b59b728"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23b2da3a22bf6666734bc0e41b59b728","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"23b2da3a22bf6666734bc0e41b59b728"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592686,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"23b2da3a22bf6666734bc0e41b59b728","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914061,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2MX0.Ngrw2ToZBFpLnBv4izSKgWhjZplptd0dQtfSID5mkR0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"23b2da3a22bf6666734bc0e41b59b728","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"23b2da3a22bf6666734bc0e41b59b728"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/websocket 200 34ms","method":"POST","requestID":"23b2da3a22bf6666734bc0e41b59b728","responseTime":34,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"23b2da3a22bf6666734bc0e41b59b728"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4ad65984058b6edcdc14dc54f5486b0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f4ad65984058b6edcdc14dc54f5486b0","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/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":"f4ad65984058b6edcdc14dc54f5486b0"} device-1 | {"level":"info","message":"OPTIONS /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/websocket 200 2ms","method":"OPTIONS","requestID":"f4ad65984058b6edcdc14dc54f5486b0","responseTime":2,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"3b4b3a582b917736caa0b940a3f69059"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b4b3a582b917736caa0b940a3f69059","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b4b3a582b917736caa0b940a3f69059"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343474,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3b4b3a582b917736caa0b940a3f69059","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b4b3a582b917736caa0b940a3f69059","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b4b3a582b917736caa0b940a3f69059"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/websocket 200 31ms","method":"POST","requestID":"3b4b3a582b917736caa0b940a3f69059","responseTime":31,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/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":"3b4b3a582b917736caa0b940a3f69059"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"400b1374c9a2519cfda6228bfa9c2ee7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"400b1374c9a2519cfda6228bfa9c2ee7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"400b1374c9a2519cfda6228bfa9c2ee7"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704071,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"400b1374c9a2519cfda6228bfa9c2ee7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"400b1374c9a2519cfda6228bfa9c2ee7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"5675ba90-50a5-4ef9-a31a-60ae301e5435","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.3286557} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"400b1374c9a2519cfda6228bfa9c2ee7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"400b1374c9a2519cfda6228bfa9c2ee7"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"400b1374c9a2519cfda6228bfa9c2ee7"} device-1 | {"level":"info","message":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? 200 13ms","method":"GET","requestID":"400b1374c9a2519cfda6228bfa9c2ee7","responseTime":13,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"91544649c2165f2b95101dfd51441bc0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91544649c2165f2b95101dfd51441bc0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91544649c2165f2b95101dfd51441bc0"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61512,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"91544649c2165f2b95101dfd51441bc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91544649c2165f2b95101dfd51441bc0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.991923915Z"}]},"request_id":"945f8016-6c20-45f0-b974-adb1f8330548","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.345959} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91544649c2165f2b95101dfd51441bc0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91544649c2165f2b95101dfd51441bc0"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91544649c2165f2b95101dfd51441bc0"} device-1 | {"level":"info","message":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? 200 12ms","method":"GET","requestID":"91544649c2165f2b95101dfd51441bc0","responseTime":12,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"e374214013a683602c7eb87af1f98da0"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"e374214013a683602c7eb87af1f98da0","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e374214013a683602c7eb87af1f98da0"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.295891,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e374214013a683602c7eb87af1f98da0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e374214013a683602c7eb87af1f98da0","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to run experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to book experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully booked experiment","requestID":"e374214013a683602c7eb87af1f98da0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0718b570-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0718dc80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004691,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0718b570-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0718b570-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.149612,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0718dc80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0718dc80-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"dcf3431b-9a01-4bfd-b1cf-a00516c024c9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.4401197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0718b570-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.991923915Z"}]},"request_id":"5f7633e3-80ca-4310-b342-48a24e319789","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.4411285} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0718dc80-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0718b570-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? 200 15ms","method":"GET","requestID":"0718b570-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0718dc80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? 200 14ms","method":"GET","requestID":"0718dc80-24d1-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Setting up experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully set up experiment","requestID":"e374214013a683602c7eb87af1f98da0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"072893f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0728bb00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07290920-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720754,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully running experiment","requestID":"e374214013a683602c7eb87af1f98da0"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"072893f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"072893f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41090","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854899,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0728bb00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0728bb00-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b8ccbd5-7d9a-41c6-bcea-37cf3a1c952f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.544471} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.182503,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"07290920-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"07290920-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.991923915Z"}]},"request_id":"47b83715-fda0-4f95-bb3e-7f2c944ca087","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5709934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0728bb00-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"81044280-9e4b-4adb-804b-8e360d6ca7ab","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5733323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"072893f0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07290920-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling 200 37ms","method":"POST","requestID":"07290920-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"072f23a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0728bb00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2855532-38f3-4252-91b4-e7bfddfbb9da#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2855532-38f3-4252-91b4-e7bfddfbb9da","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"cbbbf765-543b-4565-83aa-bc11b75865e2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5788658} device-1 | {"level":"info","message":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? 200 44ms","method":"GET","requestID":"0728bb00-24d1-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c09a5fc-30fb-4408-9614-1d724f4d9309","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5795524} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"072893f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? 200 46ms","method":"GET","requestID":"072893f0-24d1-11f0-816e-bfe403da652c","responseTime":46,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"e374214013a683602c7eb87af1f98da0","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2eff6ed7-8223-41b5-b668-6f9ba1c8802f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5835767} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.629242,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07300e00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"072f23a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"072f23a0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"072f23a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling 200 10ms","method":"POST","requestID":"072f23a0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e374214013a683602c7eb87af1f98da0"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc6c1236-ece3-40c8-847f-063e462e2b4e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.5890768} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.863202,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 229ms","method":"POST","requestID":"e374214013a683602c7eb87af1f98da0","responseTime":229,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"07300e00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"07300e00-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687622,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07300e00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling 200 35ms","method":"POST","requestID":"07300e00-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0735b350-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.243826,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e77d157-7a84-4ca5-999e-f51c3d04df02","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.6248493} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0735b350-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","rebac_allow":false,"scope_allow":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":"0735b350-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.906556412Z"}]},"request_id":"c89e0acd-4cea-4c03-9aa2-0107dd41d763","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.6258006} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0735b350-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling 200 9ms","method":"POST","requestID":"0735b350-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89"} device-1 | {"level":"info","message":"GET /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c? 200 14ms","method":"GET","requestID":"d59d7d5cf39aeaa1e32c0299b6deaa89","responseTime":14,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Building connection plan","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fe852c93-18a3-421b-aad4-36f0a733630b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"671cddbc-8742-4d2b-9e71-e67e977ec81a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"19b4af9f-9f16-4dda-85aa-84b8ce14b561"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e374214013a683602c7eb87af1f98da0"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e374214013a683602c7eb87af1f98da0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU","level":"info","message":"auth send jwt","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.759817,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"07378810-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"07378810-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627613,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6f2ae5f00a1aa21c1977ed4379b7827d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914063,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2M30.N3OKmytDMZIbXubfFdIGUai_rrhfFZIA40ce2S3mtkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:40.991923915Z"}]},"request_id":"c3672de2-4bc3-4cdb-9c45-d2178b0fd456","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.6653476} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"20a55c81-ed84-41d1-8e26-f12dbabee507","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.6667109} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ecfd5e92-44d7-4a7d-952d-ba1b29732a74","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.6670544} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"07378810-24d1-11f0-816e-bfe403da652c","responseTime":26,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d"} gateway-1 | {"time_local":"29/Apr/2025:08:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d"} device-1 | {"level":"info","message":"GET /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74? 200 36ms","method":"GET","requestID":"6f2ae5f00a1aa21c1977ed4379b7827d","responseTime":36,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb'","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb'","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 88ms","method":"POST","requestID":"07378810-24d1-11f0-816e-bfe403da652c","responseTime":88,"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":"07378810-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e374214013a683602c7eb87af1f98da0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"07491440-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1973b1c5-8808-4e0c-9d71-7ddf2b609219","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.752565} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43734,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"07491440-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07491440-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"07491440-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling 200 8ms","method":"POST","requestID":"07491440-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"074a9ae0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"432d7f9b-4bb5-4480-a1f6-81210e20d621","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914063.762097} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449924,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"074a9ae0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"074a9ae0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"074a9ae0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling 200 10ms","method":"POST","requestID":"074a9ae0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 700793949683397016 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:2x6G\r\na=ice-pwd:uhH66sQgFzTMJREzgpScOC2C\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7A:8A:E2:DD:AC:68:F7:8F:AD:AC:D9:07:32:60:B9:EC:F0:F5:12:B8:16:98:38:03:14:B2:81:1D:B6:36:DE:48\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b8e79044e8228d838d39ab94bbfa14b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b8e79044e8228d838d39ab94bbfa14b3","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"}}},"level":"info","message":"received a callback","requestID":"b8e79044e8228d838d39ab94bbfa14b3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b8e79044e8228d838d39ab94bbfa14b3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8e79044e8228d838d39ab94bbfa14b3"} device-1 | {"content":{"candidate":"candidate:1525001565 1 udp 2113937151 db528b49-4cd7-49af-b99d-d8d9cd4a16d2.local 38118 typ host generation 0 ufrag 2x6G network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","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/0435be40-89a3-4305-a081-f7453251f0cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1bccf6bcdd32099224437ef26bda4772","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1bccf6bcdd32099224437ef26bda4772","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"}}},"level":"info","message":"received a callback","requestID":"1bccf6bcdd32099224437ef26bda4772"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"08864f30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0435be40-89a3-4305-a081-f7453251f0cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"328cab88-fa91-4847-9d32-416571d357fc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914065.831421} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.340856,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"08864f30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","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":"08864f30-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"08864f30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/0435be40-89a3-4305-a081-f7453251f0cb 200 8ms","method":"GET","requestID":"08864f30-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"1bccf6bcdd32099224437ef26bda4772","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"1bccf6bcdd32099224437ef26bda4772"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"088a94f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"930a0559-be97-4fd1-82b0-bcd448215239","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914065.8601077} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25894,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"088a94f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","rebac_allow":false,"scope_allow":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":"088a94f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"088a94f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling 200 8ms","method":"POST","requestID":"088a94f0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"088c1b90-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd658d22-1faa-4895-8783-e75f647e921c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914065.870491} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.196103,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"088c1b90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"088c1b90-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"088c1b90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling 200 9ms","method":"POST","requestID":"088c1b90-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2NX0.BpEGdv19yh1-zlbKjiev4PcrmiIVvx-GGUCJ7ALrkzY","level":"info","message":"auth send jwt","requestID":"fc65aeabcc9b855fd02395977f01e3b4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc65aeabcc9b855fd02395977f01e3b4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","requestID":"fc65aeabcc9b855fd02395977f01e3b4"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.931013,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fc65aeabcc9b855fd02395977f01e3b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914065,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2NX0.BpEGdv19yh1-zlbKjiev4PcrmiIVvx-GGUCJ7ALrkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc65aeabcc9b855fd02395977f01e3b4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","requestID":"fc65aeabcc9b855fd02395977f01e3b4"} gateway-1 | {"time_local":"29/Apr/2025:08:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc65aeabcc9b855fd02395977f01e3b4"} experiment-1 | {"level":"info","message":"GET /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da 200 10ms","method":"GET","requestID":"fc65aeabcc9b855fd02395977f01e3b4","responseTime":10,"status":200,"url":"/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc","level":"info","message":"auth send jwt","requestID":"a0c0b50b897cce2e701abc7fd1b26035"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a0c0b50b897cce2e701abc7fd1b26035","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","requestID":"a0c0b50b897cce2e701abc7fd1b26035"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.817288,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a0c0b50b897cce2e701abc7fd1b26035","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914066,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0c0b50b897cce2e701abc7fd1b26035","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Attempting to finish experiment","requestID":"a0c0b50b897cce2e701abc7fd1b26035"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.769894,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914066,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb","device":"a90d9475-40f4-4c20-b7e8-deed5269ab74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0435be40-89a3-4305-a081-f7453251f0cb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0435be40-89a3-4305-a081-f7453251f0cb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0435be40-89a3-4305-a081-f7453251f0cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"5076ed23-5adc-4fd6-a094-9915830c0ca6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.0676005} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"74be0e270d33d1544acf0dfe2c07278f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80ad8e90-2a23-46c5-9a75-a4895b29fb43","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.067965} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"74be0e270d33d1544acf0dfe2c07278f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5c7e6669209336f47a80ce85ef8beae3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"}}},"level":"info","message":"received a callback","requestID":"74be0e270d33d1544acf0dfe2c07278f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5c7e6669209336f47a80ce85ef8beae3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"}}},"level":"info","message":"received a callback","requestID":"5c7e6669209336f47a80ce85ef8beae3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/0435be40-89a3-4305-a081-f7453251f0cb 204 55ms","method":"DELETE","requestID":"08a4fac0-24d1-11f0-816e-bfe403da652c","responseTime":55,"status":204,"url":"/peerconnections/0435be40-89a3-4305-a081-f7453251f0cb"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"},"level":"info","message":"Successfully finished experiment","requestID":"a0c0b50b897cce2e701abc7fd1b26035"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08b01e50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b39f7b1f-ea71-4eda-a4ce-9737ed944799","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.1058323} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192899,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"08b01e50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"08b01e50-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08b01e50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling 200 9ms","method":"POST","requestID":"08b01e50-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08b1cc00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2855532-38f3-4252-91b4-e7bfddfbb9da': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2855532-38f3-4252-91b4-e7bfddfbb9da","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"ff8b06aa-a940-4de3-8864-3629886e54b9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.114315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4b1f855-4240-4637-bae9-755af6258d52","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.115042} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"a0c0b50b897cce2e701abc7fd1b26035","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa90d9475-40f4-4c20-b7e8-deed5269ab74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7adfdbf6-3234-4907-9717-9f0e798f6427","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.1174107} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3122,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"08b1cc00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"08b1cc00-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08b1cc00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling 200 10ms","method":"POST","requestID":"08b1cc00-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da","requestID":"a0c0b50b897cce2e701abc7fd1b26035"} gateway-1 | {"time_local":"29/Apr/2025:08:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da 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":"a0c0b50b897cce2e701abc7fd1b26035"} experiment-1 | {"level":"info","message":"DELETE /experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da 204 148ms","method":"DELETE","requestID":"a0c0b50b897cce2e701abc7fd1b26035","responseTime":148,"status":204,"url":"/experiments/f2855532-38f3-4252-91b4-e7bfddfbb9da"} gateway-1 | {"time_local":"29/Apr/2025:08:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"4.179","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f727d2062a4abaee0029936274f2c16f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 99ms","method":"POST","requestID":"74be0e270d33d1544acf0dfe2c07278f","responseTime":99,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"74be0e270d33d1544acf0dfe2c07278f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a9d8dbdd-ed9d-4de9-8092-db08cc30ad1c' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"5c7e6669209336f47a80ce85ef8beae3","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.101","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c7e6669209336f47a80ce85ef8beae3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc","level":"info","message":"auth send jwt","requestID":"097f1f380733337b047a25d61c418b62"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"097f1f380733337b047a25d61c418b62","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"097f1f380733337b047a25d61c418b62"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a90d9475-40f4-4c20-b7e8-deed5269ab74' closed"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.967517,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} gateway-1 | {"time_local":"29/Apr/2025:08:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"2.864","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c49f63ba6d190d91384f53c10b5f5570"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"097f1f380733337b047a25d61c418b62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914066,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1cbbddf-a7d5-410d-9cf5-19dbf123eeef","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.2137966} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fa7c793-17c7-47ee-a571-2928f9c5160e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.2183986} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"8cd0d96f-a1e4-43e8-9ada-f8490867d009","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.2280862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5d1a44d-e2c7-48a1-a30c-a1c10c035243","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.228189} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.228064750Z"}]},"request_id":"09a3f328-9bc7-4adb-951f-929b5f3e2cac","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.2326436} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"097f1f380733337b047a25d61c418b62"} gateway-1 | {"time_local":"29/Apr/2025:08:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"097f1f380733337b047a25d61c418b62"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"097f1f380733337b047a25d61c418b62","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc","level":"info","message":"auth send jwt","requestID":"a744153fa2e50da6877abdc94cb504a2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a744153fa2e50da6877abdc94cb504a2"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.769848,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a744153fa2e50da6877abdc94cb504a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914066,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2Nn0.oa5vOiyVUZnB1Nvgfn3hiftHxSjbOcKyRynEBRh8bzc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c2ed6c4-97a3-4519-9f66-bab2f9a3b231","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.3064752} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70b3520c-d938-40e6-9629-d7b5a1f28eca","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.311134} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"623fc1c3-23cf-4b49-8f66-f2484accb87d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.3211129} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e28509eb-a106-45b7-8577-645ba412c155","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.321267} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.321089683Z"}]},"request_id":"9ff9a196-92b7-4afe-bb4a-1f66f7431837","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914066.3253253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a744153fa2e50da6877abdc94cb504a2"} gateway-1 | {"time_local":"29/Apr/2025:08:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a744153fa2e50da6877abdc94cb504a2"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"a744153fa2e50da6877abdc94cb504a2","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ab64f3d194c825070557075f75025cf1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ab64f3d194c825070557075f75025cf1","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"edc5c33054df4b57a0ee79506a46c891","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/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":"ab64f3d194c825070557075f75025cf1"} device-1 | {"level":"info","message":"OPTIONS /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/websocket 200 1ms","method":"OPTIONS","requestID":"ab64f3d194c825070557075f75025cf1","responseTime":1,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edc5c33054df4b57a0ee79506a46c891","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/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":"edc5c33054df4b57a0ee79506a46c891"} device-1 | {"level":"info","message":"OPTIONS /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/websocket 200 1ms","method":"OPTIONS","requestID":"edc5c33054df4b57a0ee79506a46c891","responseTime":1,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"5e249403e53ea7367ca6efd6261146b4"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5e249403e53ea7367ca6efd6261146b4","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5e249403e53ea7367ca6efd6261146b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"a778dd3b5e90451e11b99e14c237d8c5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a778dd3b5e90451e11b99e14c237d8c5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a778dd3b5e90451e11b99e14c237d8c5"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25192,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5e249403e53ea7367ca6efd6261146b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5e249403e53ea7367ca6efd6261146b4","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709592,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a778dd3b5e90451e11b99e14c237d8c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a778dd3b5e90451e11b99e14c237d8c5","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5e249403e53ea7367ca6efd6261146b4"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/websocket 200 38ms","method":"POST","requestID":"5e249403e53ea7367ca6efd6261146b4","responseTime":38,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e249403e53ea7367ca6efd6261146b4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a778dd3b5e90451e11b99e14c237d8c5"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","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":"a778dd3b5e90451e11b99e14c237d8c5"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/websocket 200 43ms","method":"POST","requestID":"a778dd3b5e90451e11b99e14c237d8c5","responseTime":43,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001196,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.228064750Z"}]},"request_id":"8dd13361-9dd4-4798-bf2b-b076775638e7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.732863} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3"} device-1 | {"level":"info","message":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? 200 12ms","method":"GET","requestID":"6947c412d2b4b73c5e3fc8ac0b071ff3","responseTime":12,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"aa71a4e6aa27da9c049a1980c052c3f6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa71a4e6aa27da9c049a1980c052c3f6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa71a4e6aa27da9c049a1980c052c3f6"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743933,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"aa71a4e6aa27da9c049a1980c052c3f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aa71a4e6aa27da9c049a1980c052c3f6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.321089683Z"}]},"request_id":"7b932378-a1a4-49bb-a43e-b6e76b5c29f7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.7464178} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aa71a4e6aa27da9c049a1980c052c3f6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa71a4e6aa27da9c049a1980c052c3f6"} device-1 | {"level":"info","message":"GET /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8? 200 9ms","method":"GET","requestID":"aa71a4e6aa27da9c049a1980c052c3f6","responseTime":9,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa71a4e6aa27da9c049a1980c052c3f6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"d1ed2dd721feff7fd25b35de632de248"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d1ed2dd721feff7fd25b35de632de248","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d1ed2dd721feff7fd25b35de632de248"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.639893,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d1ed2dd721feff7fd25b35de632de248","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d1ed2dd721feff7fd25b35de632de248","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to run experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to book experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully booked experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.550078,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847621,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.228064750Z"}]},"request_id":"13993ce3-cc65-4ebd-a4bf-aeec2a63d782","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.8229294} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? 200 14ms","method":"GET","requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0a4defd0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.321089683Z"}]},"request_id":"0f109a33-d206-4d97-a573-6300b226a9d6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.8240926} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8? 200 44ms","method":"GET","requestID":"0a4e16e0-24d1-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Setting up experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully set up experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a601840-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully running experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} authorization-1 | {"client_addr":"127.0.0.1:49118","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.01725,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569166,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.321089683Z"}]},"request_id":"fd445ad9-a0d4-481c-b317-fe9a75b4d5ba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9397511} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.228064750Z"}]},"request_id":"db5cf53c-f8cb-4cc7-843d-83f6f9988dc4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9410424} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d87d743-2881-4b98-b38e-ec8b9af44782","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9427147} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44435,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a601840-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","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/045d3b20-21e0-4a6d-93a6-95446bd31ec8? 200 15ms","method":"GET","requestID":"0a5ff130-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8?"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"0a601840-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5069f57-0131-4b64-85bd-75eec83e7f7b#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5069f57-0131-4b64-85bd-75eec83e7f7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c3842ca7-267f-45cd-8807-1bd57802b36e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9449801} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a3c7a9f-856a-4bc5-bcbd-0cce3985056b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9451628} device-1 | {"level":"info","message":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? 200 18ms","method":"GET","requestID":"0a5fa310-24d1-11f0-816e-bfe403da652c","responseTime":18,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"d1ed2dd721feff7fd25b35de632de248","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a628940-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a601840-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling 200 19ms","method":"POST","requestID":"0a601840-24d1-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6b5df26-7563-43f6-adec-c2c6e96eb999","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9530768} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718198,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a628940-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a628940-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d1ed2dd721feff7fd25b35de632de248"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a639ab0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 203ms","method":"POST","requestID":"d1ed2dd721feff7fd25b35de632de248","responseTime":203,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1ed2dd721feff7fd25b35de632de248"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a628940-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling 200 11ms","method":"POST","requestID":"0a628940-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"415be178-bb15-473f-bc52-58c569bc309b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9598653} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.90987,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"ae4f93d24d75248c4b1357ec91cc143a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae4f93d24d75248c4b1357ec91cc143a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a639ab0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a639ab0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a64ac20-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae4f93d24d75248c4b1357ec91cc143a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a639ab0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling 200 12ms","method":"POST","requestID":"0a639ab0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71714e8c-4558-46f2-9e2e-5daca10175e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9659052} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447085,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a64ac20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a64ac20-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938595,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ae4f93d24d75248c4b1357ec91cc143a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae4f93d24d75248c4b1357ec91cc143a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a64ac20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling 200 10ms","method":"POST","requestID":"0a64ac20-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.228064750Z"}]},"request_id":"67231499-13f2-4647-b013-760f8c849f29","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9730794} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Building connection plan","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"0c5abf23-6798-4892-8d28-bcb314081d1f"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"b2a40c09-9c24-4497-9366-6c13b1171909"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"99c4ecdb-bafe-4921-b032-c5067072673d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d1ed2dd721feff7fd25b35de632de248"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d1ed2dd721feff7fd25b35de632de248"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ae4f93d24d75248c4b1357ec91cc143a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae4f93d24d75248c4b1357ec91cc143a"} gateway-1 | {"time_local":"29/Apr/2025:08:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae4f93d24d75248c4b1357ec91cc143a"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} device-1 | {"level":"info","message":"GET /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1? 200 14ms","method":"GET","requestID":"ae4f93d24d75248c4b1357ec91cc143a","responseTime":14,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1?"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.87172,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ","level":"info","message":"auth send jwt","requestID":"01cc4642363c22149ebf7322296d1245"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01cc4642363c22149ebf7322296d1245","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01cc4642363c22149ebf7322296d1245"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635583,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01cc4642363c22149ebf7322296d1245","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914068,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA2OH0.57GMLtmjRVC9ERV1SscTaZPbeP8Zc2u6oD2LEtCxKbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01cc4642363c22149ebf7322296d1245","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"df1799b3-5820-4379-8fd7-b4897ae8c3f7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9915745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87e4324a-f16f-4f8d-8392-0bc99e522f24","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9917638} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:46.321089683Z"}]},"request_id":"9f17a7bb-daa8-44f3-9a53-543d05e0ff01","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914068.9925728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01cc4642363c22149ebf7322296d1245","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01cc4642363c22149ebf7322296d1245"} gateway-1 | {"time_local":"29/Apr/2025:08:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01cc4642363c22149ebf7322296d1245"} device-1 | {"level":"info","message":"GET /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8? 200 32ms","method":"GET","requestID":"01cc4642363c22149ebf7322296d1245","responseTime":32,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1'","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1'","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"0a66cf00-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d1ed2dd721feff7fd25b35de632de248"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a788240-24d1-11f0-816e-bfe403da652c"} device-1 | {"content":{"sdp":"v=0\r\no=- 8381669008961233411 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:f6Da\r\na=ice-pwd:I+jbY8YU+On0cWBwTEX4TcRE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D9:70:AC:22:91:BE:47:54:80:0E:FD:03:5C:B3:5E:44:57:34:71:2A:57:2D:56:3D:1C:AC:32:57:63:30:54:11\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ee0f4f1-20c4-4355-98da-f368b9011d6c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914069.0980613} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.623173,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a788240-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a788240-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 256623789214957457 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:sYvp\r\na=ice-pwd:I9RdIqM3t9cr45cU6AzLNczB\r\na=ice-options:trickle\r\na=fingerprint:sha-256 71:46:04:0A:AC:5A:9F:E3:79:40:83:D6:F5:54:D2:BE:0F:B4:C1:CF:93:EA:34:12:5D:7E:85:D0:77:70:3F:D4\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a788240-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling 200 13ms","method":"POST","requestID":"0a788240-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling"} device-1 | {"content":{"candidate":"candidate:369135910 1 udp 2113937151 8a39ca24-9a4c-4186-8cac-136d967632f6.local 38924 typ host generation 0 ufrag sYvp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a7acc30-24d1-11f0-816e-bfe403da652c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1'"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b49c1910-2f84-497c-a055-c24cce943345","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914069.1112647} device-1 | {"content":{"candidate":"candidate:1876789974 1 udp 2113937151 009aefd7-1a2b-428a-8074-5857793de601.local 34916 typ host generation 0 ufrag f6Da network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927689,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a7acc30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"0a7acc30-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","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/5b2d192c-2349-40ad-9a05-777b5fcd16c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a7acc30-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28be2c598b48005ce14bbcbee6d87ac4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"28be2c598b48005ce14bbcbee6d87ac4","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling 200 39ms","method":"POST","requestID":"0a7acc30-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling"} device-1 | {"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"}}},"level":"info","message":"received a callback","requestID":"28be2c598b48005ce14bbcbee6d87ac4"} device-1 | {"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","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":"28be2c598b48005ce14bbcbee6d87ac4","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"28be2c598b48005ce14bbcbee6d87ac4"} device-1 | {"device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","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/5b2d192c-2349-40ad-9a05-777b5fcd16c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40c242adab934eb9ed5a5b75208e60be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40c242adab934eb9ed5a5b75208e60be","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"}}},"level":"info","message":"received a callback","requestID":"40c242adab934eb9ed5a5b75208e60be"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0a8fb3c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b2d192c-2349-40ad-9a05-777b5fcd16c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cd7585b-0311-44e3-9f3e-07c1b9bb15a6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914069.2485995} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.590219,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a8fb3c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","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":"0a8fb3c0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0a8fb3c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1 200 9ms","method":"GET","requestID":"0a8fb3c0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"40c242adab934eb9ed5a5b75208e60be","responseTime":59,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"40c242adab934eb9ed5a5b75208e60be"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a97f120-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"881f3121-56d3-4d5a-8e74-0f8751b10e47","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914069.3029158} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.730049,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a97f120-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"0a97f120-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a97f120-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling 200 34ms","method":"POST","requestID":"0a97f120-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a9d9670-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c12d87c-0c0e-4150-b9b1-b596a8b5f703","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914069.339749} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699095,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a9d9670-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a9d9670-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a9d9670-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling 200 9ms","method":"POST","requestID":"0a9d9670-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw","level":"info","message":"auth send jwt","requestID":"c2bd6226293b1de49b48e66b1c895219"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c2bd6226293b1de49b48e66b1c895219","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","requestID":"c2bd6226293b1de49b48e66b1c895219"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.327454,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c2bd6226293b1de49b48e66b1c895219","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914070,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c2bd6226293b1de49b48e66b1c895219","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","requestID":"c2bd6226293b1de49b48e66b1c895219"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2bd6226293b1de49b48e66b1c895219"} experiment-1 | {"level":"info","message":"GET /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b 200 16ms","method":"GET","requestID":"c2bd6226293b1de49b48e66b1c895219","responseTime":16,"status":200,"url":"/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw","level":"info","message":"auth send jwt","requestID":"960a37893e248dd08ff497091bbe4e02"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"960a37893e248dd08ff497091bbe4e02","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","requestID":"960a37893e248dd08ff497091bbe4e02"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.303293,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"960a37893e248dd08ff497091bbe4e02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914070,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"960a37893e248dd08ff497091bbe4e02","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Attempting to finish experiment","requestID":"960a37893e248dd08ff497091bbe4e02"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.92875,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914070,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","device":"399c8c8b-5f35-4a67-a6fb-e38df3b050f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1","device":"045d3b20-21e0-4a6d-93a6-95446bd31ec8","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/5b2d192c-2349-40ad-9a05-777b5fcd16c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b2d192c-2349-40ad-9a05-777b5fcd16c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b2d192c-2349-40ad-9a05-777b5fcd16c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"0d713a26-231a-4be0-b870-6139012e9a25","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.5289705} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee5fc22603a3f0cccb946878f331702a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f396d4f-f700-474f-a72f-e05c8ddfa236","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.529446} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"ee5fc22603a3f0cccb946878f331702a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e9c08117e13200ea53f9f3e48add4f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"}}},"level":"info","message":"received a callback","requestID":"ee5fc22603a3f0cccb946878f331702a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e9c08117e13200ea53f9f3e48add4f2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"}}},"level":"info","message":"received a callback","requestID":"3e9c08117e13200ea53f9f3e48add4f2"} device-1 | {"data":{"peerconnection":"5b2d192c-2349-40ad-9a05-777b5fcd16c1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1 204 69ms","method":"DELETE","requestID":"0b50b9d0-24d1-11f0-816e-bfe403da652c","responseTime":69,"status":204,"url":"/peerconnections/5b2d192c-2349-40ad-9a05-777b5fcd16c1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"},"level":"info","message":"Successfully finished experiment","requestID":"960a37893e248dd08ff497091bbe4e02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b5d8b10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c8c8b-5f35-4a67-a6fb-e38df3b050f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07072808-f76f-4d6c-a973-4955b68b1b8c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.5985436} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829874,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0b5d8b10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1","object_type":"device","rebac_allow":false,"scope_allow":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":"0b5d8b10-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b5d8b10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling 200 31ms","method":"POST","requestID":"0b5d8b10-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b62bb30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5069f57-0131-4b64-85bd-75eec83e7f7b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5069f57-0131-4b64-85bd-75eec83e7f7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"01e4a4c0-5057-4b75-afbf-4c964222c7a4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.626588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eba62577-9877-4528-ae0b-cbe2aea0a0b8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.6274333} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"960a37893e248dd08ff497091bbe4e02","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F045d3b20-21e0-4a6d-93a6-95446bd31ec8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2147e6a9-ed88-434f-98e8-ac40d7382e5e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.6337264} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.363436,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0b62bb30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b62bb30-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b62bb30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling 200 11ms","method":"POST","requestID":"0b62bb30-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b","requestID":"960a37893e248dd08ff497091bbe4e02"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"960a37893e248dd08ff497091bbe4e02"} experiment-1 | {"level":"info","message":"DELETE /experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b 204 234ms","method":"DELETE","requestID":"960a37893e248dd08ff497091bbe4e02","responseTime":234,"status":204,"url":"/experiments/c5069f57-0131-4b64-85bd-75eec83e7f7b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"ee5fc22603a3f0cccb946878f331702a","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee5fc22603a3f0cccb946878f331702a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"3e9c08117e13200ea53f9f3e48add4f2","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e9c08117e13200ea53f9f3e48add4f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw","level":"info","message":"auth send jwt","requestID":"27857c86e0bddeb29636edac2bdbfe6c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27857c86e0bddeb29636edac2bdbfe6c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"27857c86e0bddeb29636edac2bdbfe6c"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2321","request_time":"2.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":"1ff6b14b3c8245d0735d19414db55fc5"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"2.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":"a856d35b4815b6fbfe6bd3ca25236a90"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/045d3b20-21e0-4a6d-93a6-95446bd31ec8' closed"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86576,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/399c8c8b-5f35-4a67-a6fb-e38df3b050f1' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27857c86e0bddeb29636edac2bdbfe6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914070,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50203892-bd84-43e3-8270-ee0a69590344","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.7750258} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"deeb6e42-195a-4cc5-8342-c0713d744508","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.778811} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3f6cca80-ba50-4d0d-b6d3-378369e9b4c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.791573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbb962f6-169c-4aef-866d-3f2c7dd13991","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.7916899} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.791556298Z"}]},"request_id":"a185df57-3302-465e-8a49-b22674bd5728","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8192341} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"27857c86e0bddeb29636edac2bdbfe6c"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27857c86e0bddeb29636edac2bdbfe6c"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"27857c86e0bddeb29636edac2bdbfe6c","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw","level":"info","message":"auth send jwt","requestID":"397a1e2f414879f35ceb34dfd509e8ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"397a1e2f414879f35ceb34dfd509e8ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"397a1e2f414879f35ceb34dfd509e8ac"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.636273,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"397a1e2f414879f35ceb34dfd509e8ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914070,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MH0.pUPzxTPItxmhjso0EX4rYpWjX637yXppppnk5vF4ORw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ea9905d-e537-45f7-b74a-de606b81ffab","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8398273} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52c2fd6f-fd7f-41b2-8b02-ab69431e8dd0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8664916} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"c61fdb6f-b274-4b00-aa0f-5d99f31ada77","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8748448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0f1735a-aaa3-406d-9940-bb1967761a7b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8750794} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"b3b38186-3b4d-468d-8c11-6d3ff5528acc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914070.8788114} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"397a1e2f414879f35ceb34dfd509e8ac"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"397a1e2f414879f35ceb34dfd509e8ac","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"397a1e2f414879f35ceb34dfd509e8ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MX0.hVgubfwhK2K1mHUWh49AOrGr69R52Qqe5XIefKzr3jE","level":"info","message":"auth send jwt","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647551,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914071,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MX0.hVgubfwhK2K1mHUWh49AOrGr69R52Qqe5XIefKzr3jE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"ba30f6a5-9326-4384-8cc7-7336a3f4f8d2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914071.752115} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27984773-5666-40a9-8d0f-b469d0b187ec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914071.7803316} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"364a7ec6-4b61-4692-ac49-43c0d247a7c0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914071.796345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d"} device-1 | {"level":"info","message":"PATCH /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9 200 56ms","method":"PATCH","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d","responseTime":56,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"} gateway-1 | {"time_local":"29/Apr/2025:08:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b2235dbfab8f2a191f4afd151d3d3a5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MX0.hVgubfwhK2K1mHUWh49AOrGr69R52Qqe5XIefKzr3jE","level":"info","message":"auth send jwt","requestID":"8712376175309df7bf1e5c2d4f63ae95"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"8712376175309df7bf1e5c2d4f63ae95","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8712376175309df7bf1e5c2d4f63ae95"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70299,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8712376175309df7bf1e5c2d4f63ae95","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914071,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3MX0.hVgubfwhK2K1mHUWh49AOrGr69R52Qqe5XIefKzr3jE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8712376175309df7bf1e5c2d4f63ae95","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8712376175309df7bf1e5c2d4f63ae95"} gateway-1 | {"time_local":"29/Apr/2025:08:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8712376175309df7bf1e5c2d4f63ae95"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/websocket 200 14ms","method":"POST","requestID":"8712376175309df7bf1e5c2d4f63ae95","responseTime":14,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5942b12872145953eb36872aa69a76ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5942b12872145953eb36872aa69a76ec","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/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":"5942b12872145953eb36872aa69a76ec"} device-1 | {"level":"info","message":"OPTIONS /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/websocket 200 1ms","method":"OPTIONS","requestID":"5942b12872145953eb36872aa69a76ec","responseTime":1,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"bdf9e7bff0ae0a89c386c359b3788c47"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bdf9e7bff0ae0a89c386c359b3788c47","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bdf9e7bff0ae0a89c386c359b3788c47"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195145,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bdf9e7bff0ae0a89c386c359b3788c47","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bdf9e7bff0ae0a89c386c359b3788c47","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bdf9e7bff0ae0a89c386c359b3788c47"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","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":"bdf9e7bff0ae0a89c386c359b3788c47"} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/websocket 200 38ms","method":"POST","requestID":"bdf9e7bff0ae0a89c386c359b3788c47","responseTime":38,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"a2557d151eec98389590dc5109feb78c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2557d151eec98389590dc5109feb78c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2557d151eec98389590dc5109feb78c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198767,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a2557d151eec98389590dc5109feb78c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a2557d151eec98389590dc5109feb78c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.791556298Z"}]},"request_id":"054d28d2-8a79-47ec-9d81-657c96f0c0ee","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.2349148} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a2557d151eec98389590dc5109feb78c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2557d151eec98389590dc5109feb78c"} device-1 | {"level":"info","message":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? 200 17ms","method":"GET","requestID":"a2557d151eec98389590dc5109feb78c","responseTime":17,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2557d151eec98389590dc5109feb78c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"127a84d15484235e10ac1fe76eaa50b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"127a84d15484235e10ac1fe76eaa50b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"127a84d15484235e10ac1fe76eaa50b3"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842042,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"127a84d15484235e10ac1fe76eaa50b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"127a84d15484235e10ac1fe76eaa50b3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"161b5793-63aa-43b2-9158-9000dc72cbd1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.2792225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"127a84d15484235e10ac1fe76eaa50b3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"127a84d15484235e10ac1fe76eaa50b3"} device-1 | {"level":"info","message":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? 200 13ms","method":"GET","requestID":"127a84d15484235e10ac1fe76eaa50b3","responseTime":13,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"127a84d15484235e10ac1fe76eaa50b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"2c70471db88b0b44aa4c613595a54491"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c70471db88b0b44aa4c613595a54491","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2c70471db88b0b44aa4c613595a54491"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.791258,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2c70471db88b0b44aa4c613595a54491","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c70471db88b0b44aa4c613595a54491","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to run experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to book experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully booked experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654403,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.597044,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.791556298Z"}]},"request_id":"da815013-d5a7-430c-865f-51b3e60f0d35","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.3778422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"30345bf1-9710-49cb-80df-d757dd8c12df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.3786328} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? 200 12ms","method":"GET","requestID":"0d0547a0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? 200 11ms","method":"GET","requestID":"0d0595c0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Setting up experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully set up experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d10e060-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d110770-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully running experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d112e80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051878,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d10e060-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d10e060-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.493505,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d110770-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d110770-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed44a959-44a0-49f2-9f38-ca063c483a92","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4556878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.791556298Z"}]},"request_id":"d834f2ac-6027-4dc4-8ccf-b326c92cde2b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4563518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"15c9384a-dfb2-4b4d-aeb3-17f56bb945a4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4576445} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.265366,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d112e80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","rebac_allow":false,"scope_allow":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":"0d112e80-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0d10e060-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0d110770-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d10e060-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? 200 18ms","method":"GET","requestID":"0d10e060-24d1-11f0-816e-bfe403da652c","responseTime":18,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92bc12a5-60f7-4f7c-8218-56d8537001c8#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92bc12a5-60f7-4f7c-8218-56d8537001c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"58c3839e-d70b-4a0b-8e36-0d0a6f925fe9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4643898} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d112e80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a157c89-81cf-4e60-8b19-5c027fa2de12","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4645543} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling 200 17ms","method":"POST","requestID":"0d112e80-24d1-11f0-816e-bfe403da652c","responseTime":17,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d110770-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? 200 19ms","method":"GET","requestID":"0d110770-24d1-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"2c70471db88b0b44aa4c613595a54491","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d1414b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d143bc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98e96848-f10b-4dc2-ae90-6b1da43a0467","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.470843} authorization-1 | {"client_addr":"127.0.0.1:56550","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.494266,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d1414b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d1414b0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2c70471db88b0b44aa4c613595a54491"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"802f9a17-1d9f-496c-b881-939c79ccae3e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.471832} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37097,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"2c70471db88b0b44aa4c613595a54491","responseTime":160,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d143bc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d143bc0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d1414b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling 200 10ms","method":"POST","requestID":"0d1414b0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"d45989039d1ade488f6f6ec10f85d094"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d143bc0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d45989039d1ade488f6f6ec10f85d094","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling 200 10ms","method":"POST","requestID":"0d143bc0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d45989039d1ade488f6f6ec10f85d094"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d163790-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699999,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d45989039d1ade488f6f6ec10f85d094","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d45989039d1ade488f6f6ec10f85d094","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c67ac149-06fa-4acc-a126-afecd7a62262","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4878044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.791556298Z"}]},"request_id":"0884a534-d908-4c32-a494-f8e66106beb5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.4927638} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d163790-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","rebac_allow":false,"scope_allow":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":"0d163790-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d45989039d1ade488f6f6ec10f85d094","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d163790-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Building connection plan","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"8a2ecfab-5482-4d57-9cc8-fe976fa2fe84"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"2cba0e3b-4f89-450a-aa99-37c0159f461a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"79e15cab-cff2-4803-b0a3-cdfd9317af85"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2c70471db88b0b44aa4c613595a54491"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2c70471db88b0b44aa4c613595a54491"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling 200 22ms","method":"POST","requestID":"0d163790-24d1-11f0-816e-bfe403da652c","responseTime":22,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d45989039d1ade488f6f6ec10f85d094"} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d45989039d1ade488f6f6ec10f85d094"} device-1 | {"level":"info","message":"GET /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197? 200 25ms","method":"GET","requestID":"d45989039d1ade488f6f6ec10f85d094","responseTime":25,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU","level":"info","message":"auth send jwt","requestID":"a1c3ec91757209d50eb02c1d8f4ea283"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.667614,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1c3ec91757209d50eb02c1d8f4ea283","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d19e110-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1c3ec91757209d50eb02c1d8f4ea283"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625971,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a1c3ec91757209d50eb02c1d8f4ea283","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914073,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3M30.JoPB5dxahdytW_5c1W1gWpiyH6G69v7_Ski_QIj0zfU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1c3ec91757209d50eb02c1d8f4ea283","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:50.874828095Z"}]},"request_id":"44a03056-c63f-4513-b63a-dcd6fd1feb06","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.51556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a1c3ec91757209d50eb02c1d8f4ea283","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1c3ec91757209d50eb02c1d8f4ea283"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"36f0f837-bbe4-45cf-8aa4-f7ec047fde9d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.51927} gateway-1 | {"time_local":"29/Apr/2025:08:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1c3ec91757209d50eb02c1d8f4ea283"} device-1 | {"level":"info","message":"GET /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9? 200 10ms","method":"GET","requestID":"a1c3ec91757209d50eb02c1d8f4ea283","responseTime":10,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e210fe4-7fad-44d3-b554-64dc5225cfa6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.5201087} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733'","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733'","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"0d19e110-24d1-11f0-816e-bfe403da652c","responseTime":31,"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":"0d19e110-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2c70471db88b0b44aa4c613595a54491"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d2293a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc76efc4-4707-4567-975d-73c987b5b049","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.566695} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598109,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d2293a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d2293a0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d2293a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling 200 11ms","method":"POST","requestID":"0d2293a0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 2620972858154016461 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:Nb8J\r\na=ice-pwd:cnOlIDw/kYImWcPg6FLGv1pI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BA:EA:E4:3F:A1:91:43:46:52:A5:49:74:44:82:77:9A:A5:55:73:ED:4B:F0:FE:C5:52:81:A8:39:B7:7F:A4:B9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d248f70-24d1-11f0-816e-bfe403da652c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197'"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b484b8be-b899-424a-94be-b2740ae16183","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914073.6041367} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.394597,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0d248f70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","rebac_allow":false,"scope_allow":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":"0d248f70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d248f70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling 200 33ms","method":"POST","requestID":"0d248f70-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling"} device-1 | {"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"80deb16a10c04f70b2551425927187e8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80deb16a10c04f70b2551425927187e8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"}}},"level":"info","message":"received a callback","requestID":"80deb16a10c04f70b2551425927187e8"} device-1 | {"content":{"candidate":"candidate:843778880 1 udp 2113937151 61f94789-c9e7-4a76-8353-77b1adf3d2a2.local 47490 typ host generation 0 ufrag Nb8J network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"80deb16a10c04f70b2551425927187e8","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"80deb16a10c04f70b2551425927187e8"} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","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/49a14492-f0ef-4176-9894-ae626754a733' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ef34172955a3bfc47f4e1358e958bf78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ef34172955a3bfc47f4e1358e958bf78","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"}}},"level":"info","message":"received a callback","requestID":"ef34172955a3bfc47f4e1358e958bf78"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0e5ce860-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a14492-f0ef-4176-9894-ae626754a733","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d988b99-8bf8-4dfe-b53e-6d4040695e4c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914075.6265917} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.495681,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0e5ce860-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","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":"0e5ce860-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0e5ce860-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/49a14492-f0ef-4176-9894-ae626754a733 200 9ms","method":"GET","requestID":"0e5ce860-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"ef34172955a3bfc47f4e1358e958bf78","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef34172955a3bfc47f4e1358e958bf78"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e641450-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a4f4c70-fac5-4367-bc6f-c5eb30579685","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914075.6739743} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.7115,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0e641450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0e641450-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e641450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling 200 10ms","method":"POST","requestID":"0e641450-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e65e910-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7684c06d-c416-475a-8c83-fbda4a03a72a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914075.6881793} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.578427,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0e65e910-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"0e65e910-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e65e910-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling 200 39ms","method":"POST","requestID":"0e65e910-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o","level":"info","message":"auth send jwt","requestID":"f12d14762d6041a29e715a9a90b65d9b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f12d14762d6041a29e715a9a90b65d9b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","requestID":"f12d14762d6041a29e715a9a90b65d9b"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.263192,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f12d14762d6041a29e715a9a90b65d9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914076,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f12d14762d6041a29e715a9a90b65d9b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","requestID":"f12d14762d6041a29e715a9a90b65d9b"} experiment-1 | {"level":"info","message":"GET /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8 200 15ms","method":"GET","requestID":"f12d14762d6041a29e715a9a90b65d9b","responseTime":15,"status":200,"url":"/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f12d14762d6041a29e715a9a90b65d9b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o","level":"info","message":"auth send jwt","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fcd6ce3328bac223b91acfd7a783ed52","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.715699,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcd6ce3328bac223b91acfd7a783ed52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914076,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fcd6ce3328bac223b91acfd7a783ed52","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Attempting to finish experiment","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.16507,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914076,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733","device":"7eceb7b0-d09a-4fea-a85c-3687af11f197","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"13ab8500-972b-496e-a8b7-73f117e9dbe9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6a4afe775ef319482c462b64c6197dcf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a14492-f0ef-4176-9894-ae626754a733': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49a14492-f0ef-4176-9894-ae626754a733","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"5a87c50f-493a-474d-a453-9d5eaa5ab9cf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.0647628} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a4afe775ef319482c462b64c6197dcf","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32a8ea4c-95bd-4ea2-955f-16ae1e4edfe0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.0651114} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"059e30ba127e71ad706d3c3159e49013","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"}}},"level":"info","message":"received a callback","requestID":"6a4afe775ef319482c462b64c6197dcf"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"059e30ba127e71ad706d3c3159e49013","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"}}},"level":"info","message":"received a callback","requestID":"059e30ba127e71ad706d3c3159e49013"} device-1 | {"data":{"peerconnection":"49a14492-f0ef-4176-9894-ae626754a733","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/49a14492-f0ef-4176-9894-ae626754a733 204 46ms","method":"DELETE","requestID":"0e9d4cc0-24d1-11f0-816e-bfe403da652c","responseTime":46,"status":204,"url":"/peerconnections/49a14492-f0ef-4176-9894-ae626754a733"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"},"level":"info","message":"Successfully finished experiment","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0ea7ad00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13ab8500-972b-496e-a8b7-73f117e9dbe9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a7113dd-9805-4e0c-a178-5b89ab6f3e60","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.118486} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.663762,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0ea7ad00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9","object_type":"device","rebac_allow":false,"scope_allow":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":"0ea7ad00-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0ea7ad00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling 200 18ms","method":"POST","requestID":"0ea7ad00-24d1-11f0-816e-bfe403da652c","responseTime":18,"status":200,"url":"/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0eaaba40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7eceb7b0-d09a-4fea-a85c-3687af11f197","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dd0359e-5422-4a47-8f0a-1641384651be","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.1364453} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442249,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0eaaba40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0eaaba40-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0eaaba40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling 200 8ms","method":"POST","requestID":"0eaaba40-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92bc12a5-60f7-4f7c-8218-56d8537001c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92bc12a5-60f7-4f7c-8218-56d8537001c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"84d75774-8f5a-4ef7-9e96-4276c5ae8aaa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.1485054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99aa6bd1-a65d-4523-bf08-5b2321d5dd68","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.148716} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"fcd6ce3328bac223b91acfd7a783ed52","responseTime":40,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcd6ce3328bac223b91acfd7a783ed52"} experiment-1 | {"level":"info","message":"DELETE /experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8 204 221ms","method":"DELETE","requestID":"fcd6ce3328bac223b91acfd7a783ed52","responseTime":221,"status":204,"url":"/experiments/92bc12a5-60f7-4f7c-8218-56d8537001c8"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"4.411","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b36b39dfddce68c6575beeddc7d196c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"6a4afe775ef319482c462b64c6197dcf","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a4afe775ef319482c462b64c6197dcf"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/13ab8500-972b-496e-a8b7-73f117e9dbe9' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"059e30ba127e71ad706d3c3159e49013","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:07: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"059e30ba127e71ad706d3c3159e49013"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o","level":"info","message":"auth send jwt","requestID":"65055b25935f1711b50bf832e256459e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65055b25935f1711b50bf832e256459e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65055b25935f1711b50bf832e256459e"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2527","request_time":"3.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"49b40155750c7d12abd1e97f19c377dc"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7eceb7b0-d09a-4fea-a85c-3687af11f197' closed"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.999465,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"65055b25935f1711b50bf832e256459e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914076,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5947700-7c1b-45e3-b3cf-d0c8c90ed8c0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3055716} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07973613-2f25-4f06-9eb1-5628cc09a109","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3111942} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"531c0094-1588-43e2-88cd-d7ed59f38cf7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3212986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3faa88bc-7ab5-4da4-8502-a7812d7d2edc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3214545} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"38846473-5c47-466e-8511-765575dd201c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3254113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65055b25935f1711b50bf832e256459e"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65055b25935f1711b50bf832e256459e"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"65055b25935f1711b50bf832e256459e","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o","level":"info","message":"auth send jwt","requestID":"5498162d9f4a2225c2fff0021d9079b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5498162d9f4a2225c2fff0021d9079b5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5498162d9f4a2225c2fff0021d9079b5"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742361,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5498162d9f4a2225c2fff0021d9079b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914076,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3Nn0.nmtYoFkIPzsrjDyO3tB9kKW3IWcCvAPGnkKnOLwTA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b927328-7fbd-46bd-bec7-9134164d24d0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3476892} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c82d744-c98a-49c8-bad1-2a06853206ec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3520484} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"efa03537-476c-49a8-b6c5-eba413d157af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.361805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21580577-192b-4bda-93af-c48e075657ce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.3620918} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.361786867Z"}]},"request_id":"503b8824-6312-44a9-83b4-a26f09a4b9a6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914076.366219} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5498162d9f4a2225c2fff0021d9079b5"} gateway-1 | {"time_local":"29/Apr/2025:08:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5498162d9f4a2225c2fff0021d9079b5"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"5498162d9f4a2225c2fff0021d9079b5","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3N30.UV5GVpqhMt0argAEyyqSFTbLDs9dMYI3WBp_sK2nmP4","level":"info","message":"auth send jwt","requestID":"546399d53f184709650d78e8eabc2d53"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"546399d53f184709650d78e8eabc2d53","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"546399d53f184709650d78e8eabc2d53"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694517,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"546399d53f184709650d78e8eabc2d53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914077,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3N30.UV5GVpqhMt0argAEyyqSFTbLDs9dMYI3WBp_sK2nmP4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"546399d53f184709650d78e8eabc2d53","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"7565f5be-dc53-434b-9a8f-216de2bd70c1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914077.2124856} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"546399d53f184709650d78e8eabc2d53","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b56c4e05-a7cb-420f-b02e-d74145ea37e4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914077.216631} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"546399d53f184709650d78e8eabc2d53","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"eb6ef85c-9fdd-4865-8d3b-8d381127e41b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914077.2616773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"546399d53f184709650d78e8eabc2d53","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"546399d53f184709650d78e8eabc2d53"} gateway-1 | {"time_local":"29/Apr/2025:08:07:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"546399d53f184709650d78e8eabc2d53"} device-1 | {"level":"info","message":"PATCH /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7 200 59ms","method":"PATCH","requestID":"546399d53f184709650d78e8eabc2d53","responseTime":59,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3N30.UV5GVpqhMt0argAEyyqSFTbLDs9dMYI3WBp_sK2nmP4","level":"info","message":"auth send jwt","requestID":"7e8eb8980f12549e07d82319c72a7f40"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e8eb8980f12549e07d82319c72a7f40","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7e8eb8980f12549e07d82319c72a7f40"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739574,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7e8eb8980f12549e07d82319c72a7f40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914077,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3N30.UV5GVpqhMt0argAEyyqSFTbLDs9dMYI3WBp_sK2nmP4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e8eb8980f12549e07d82319c72a7f40","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7e8eb8980f12549e07d82319c72a7f40"} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/websocket 200 15ms","method":"POST","requestID":"7e8eb8980f12549e07d82319c72a7f40","responseTime":15,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:07:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7e8eb8980f12549e07d82319c72a7f40"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb3350c987477a6961b38e82c612dfcc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cb3350c987477a6961b38e82c612dfcc","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:07:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/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":"cb3350c987477a6961b38e82c612dfcc"} device-1 | {"level":"info","message":"OPTIONS /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/websocket 200 2ms","method":"OPTIONS","requestID":"cb3350c987477a6961b38e82c612dfcc","responseTime":2,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg","level":"info","message":"auth send jwt","requestID":"a20b23459cdf77595e84548aeafe7bc8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a20b23459cdf77595e84548aeafe7bc8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a20b23459cdf77595e84548aeafe7bc8"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349055,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a20b23459cdf77595e84548aeafe7bc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a20b23459cdf77595e84548aeafe7bc8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a20b23459cdf77595e84548aeafe7bc8"} gateway-1 | {"time_local":"29/Apr/2025:08:07:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a20b23459cdf77595e84548aeafe7bc8"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/websocket 200 42ms","method":"POST","requestID":"a20b23459cdf77595e84548aeafe7bc8","responseTime":42,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg","level":"info","message":"auth send jwt","requestID":"efdf980ec36282b2387624be9d309423"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"efdf980ec36282b2387624be9d309423","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"efdf980ec36282b2387624be9d309423"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694892,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"efdf980ec36282b2387624be9d309423","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"efdf980ec36282b2387624be9d309423","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"87df47f7-9e7c-4b95-8be0-ec67e2d126eb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.7196538} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"efdf980ec36282b2387624be9d309423","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"efdf980ec36282b2387624be9d309423"} gateway-1 | {"time_local":"29/Apr/2025:08:07:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efdf980ec36282b2387624be9d309423"} device-1 | {"level":"info","message":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? 200 15ms","method":"GET","requestID":"efdf980ec36282b2387624be9d309423","responseTime":15,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg","level":"info","message":"auth send jwt","requestID":"22cb33dcb82566d7d0c81a61bc3b6172"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"22cb33dcb82566d7d0c81a61bc3b6172","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"22cb33dcb82566d7d0c81a61bc3b6172"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864613,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"22cb33dcb82566d7d0c81a61bc3b6172","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"22cb33dcb82566d7d0c81a61bc3b6172","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.361786867Z"}]},"request_id":"0fabee99-6e90-490a-999a-7f6c551d70e1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.736982} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"22cb33dcb82566d7d0c81a61bc3b6172","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"22cb33dcb82566d7d0c81a61bc3b6172"} gateway-1 | {"time_local":"29/Apr/2025:08:07:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22cb33dcb82566d7d0c81a61bc3b6172"} device-1 | {"level":"info","message":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? 200 10ms","method":"GET","requestID":"22cb33dcb82566d7d0c81a61bc3b6172","responseTime":10,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg","level":"info","message":"auth send jwt","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.690813,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bd83ad51e2d44a9a15f29c49554bd3b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to run experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to book experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully booked experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1046de10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"10477a50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84392,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1046de10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1046de10-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640718,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"10477a50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10477a50-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"1fd7365e-2e76-4515-808a-8f2fe39ea2f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.8417344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1046de10-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.361786867Z"}]},"request_id":"8b1cf28b-b3d1-4090-b3c8-e0b382f5ca6a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.845715} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1046de10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"10477a50-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? 200 13ms","method":"GET","requestID":"1046de10-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"10477a50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? 200 11ms","method":"GET","requestID":"10477a50-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Setting up experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully set up experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"10569580-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1056bc90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"10570ab0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully running experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56536","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.471559,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"10569580-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"10569580-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803451,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1056bc90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"1056bc90-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.708595,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07: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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"9f1085be-d6f1-459a-af25-c4ba06ce37e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9470086} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8acf44f-44df-48c3-a79b-401698bebab3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9471247} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"10569580-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"10570ab0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","rebac_allow":false,"scope_allow":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":"10570ab0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"10569580-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.361786867Z"}]},"request_id":"63634e44-898a-4286-b418-6b63f83d59c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9518316} device-1 | {"level":"info","message":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? 200 41ms","method":"GET","requestID":"10569580-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"1056bc90-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"10570ab0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731c92ad-10c8-48aa-b4ca-daa1b24fec5f#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731c92ad-10c8-48aa-b4ca-daa1b24fec5f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"8fb2f102-d81e-47c6-a066-6edd7794679b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9771545} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling 200 39ms","method":"POST","requestID":"10570ab0-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd310067-5d6d-4894-aa89-19927de4c75b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9774106} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"105d4c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1056bc90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? 200 46ms","method":"GET","requestID":"1056bc90-24d1-11f0-816e-bfe403da652c","responseTime":46,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa?"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a53bcdf6-46ae-4aa4-a694-856f72c91270","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9852183} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408165,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"105e36a0-24d1-11f0-816e-bfe403da652c"} gateway-1 | {"time_local":"29/Apr/2025:08:07:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"105d4c40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4","responseTime":241,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"105d4c40-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"105d4c40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling 200 10ms","method":"POST","requestID":"105d4c40-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg","level":"info","message":"auth send jwt","requestID":"dc242b412a63f7477ce099efcec7217e"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8175ac2-8673-4d06-ac72-5cc67b616fff","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.991217} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc242b412a63f7477ce099efcec7217e","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.907909,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc242b412a63f7477ce099efcec7217e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"105e36a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"105e36a0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658959,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"105e36a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling 200 9ms","method":"POST","requestID":"105e36a0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"dc242b412a63f7477ce099efcec7217e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc242b412a63f7477ce099efcec7217e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"105fe450-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.321265539Z"}]},"request_id":"278bd2fa-d934-4624-bcb5-656af08dd577","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914078.9989696} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc242b412a63f7477ce099efcec7217e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:58Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ea1e6d3-b9b5-4977-b447-40e7042de628","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.0010316} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.06569,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"105fe450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"105fe450-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc242b412a63f7477ce099efcec7217e"} device-1 | {"level":"info","message":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? 200 37ms","method":"GET","requestID":"dc242b412a63f7477ce099efcec7217e","responseTime":37,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7?"} gateway-1 | {"time_local":"29/Apr/2025:08:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc242b412a63f7477ce099efcec7217e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"105fe450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling 200 32ms","method":"POST","requestID":"105fe450-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Building connection plan","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ea42ce6a-664e-41b9-8274-f8857c8998c9"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"41d820cc-ea96-4289-9627-48269ff238c7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"816648f2-6abb-4ec0-b1eb-c1116cbbad03"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OX0.BNgy_DrZ8dbHgTz5JoJ-hKTpxd-iOquhwleo5tiO4bg","level":"info","message":"auth send jwt","requestID":"c13b0db7950d631334c54469498c2ae0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c13b0db7950d631334c54469498c2ae0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c13b0db7950d631334c54469498c2ae0"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.625022,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"10653b80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914078,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OH0.Xq1DHhfEcf_rSGz4cjk-9nQANDZQ6_TCHXtV8_j4Qbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10653b80-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.579364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c13b0db7950d631334c54469498c2ae0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914079,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA3OX0.BNgy_DrZ8dbHgTz5JoJ-hKTpxd-iOquhwleo5tiO4bg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c13b0db7950d631334c54469498c2ae0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:07:56.361786867Z"}]},"request_id":"83395a52-1a0d-43d1-9aec-c1cdf1a743c6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.0408556} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c13b0db7950d631334c54469498c2ae0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c13b0db7950d631334c54469498c2ae0"} gateway-1 | {"time_local":"29/Apr/2025:08:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c13b0db7950d631334c54469498c2ae0"} device-1 | {"level":"info","message":"GET /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa? 200 10ms","method":"GET","requestID":"c13b0db7950d631334c54469498c2ae0","responseTime":10,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"079d8da2-67be-431d-a25f-e3bca622d7e6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.0448437} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3153f72d-e122-4317-99bd-47e79957d4d2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.045036} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"10653b80-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746'","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746'","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"10653b80-24d1-11f0-816e-bfe403da652c","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"10653b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bd83ad51e2d44a9a15f29c49554bd3b4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"107456b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:59Z"} device-1 | {"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd0a6a17-3384-48dc-be36-6ce304c32526","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.1367445} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.73884,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"107456b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","rebac_allow":false,"scope_allow":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":"107456b0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8029990451034882560 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:rSCx\r\na=ice-pwd:AxrUsLEPnDq3Xe85G/m2roo7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 13:4C:91:D7:85:ED:A6:36:7D:F0:B1:6E:7B:13:94:77:F4:97:94:48:AE:DD:FB:85:B8:4E:16:D4:3E:A5:99:68\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"107456b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling 200 40ms","method":"POST","requestID":"107456b0-24d1-11f0-816e-bfe403da652c","responseTime":40,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"107ae660-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6385272e-24ca-4be4-9ace-e3d45268e1e6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914079.178889} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422203,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"107ae660-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"107ae660-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"107ae660-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling 200 11ms","method":"POST","requestID":"107ae660-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling"} device-1 | {"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20118ff6515229c9be7f31a56d2f1bd6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"20118ff6515229c9be7f31a56d2f1bd6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"}}},"level":"info","message":"received a callback","requestID":"20118ff6515229c9be7f31a56d2f1bd6"} device-1 | {"content":{"candidate":"candidate:2519337470 1 udp 2113937151 ece86c9e-73f3-4345-8faa-7d3de9bf42c6.local 53140 typ host generation 0 ufrag rSCx network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"20118ff6515229c9be7f31a56d2f1bd6","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"20118ff6515229c9be7f31a56d2f1bd6"} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","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/3f0b4ef6-ddd0-4be9-a719-530cff150746' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b303a0488d730fb70450a22adfbdcaa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b303a0488d730fb70450a22adfbdcaa","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"}}},"level":"info","message":"received a callback","requestID":"4b303a0488d730fb70450a22adfbdcaa"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"11abec50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f0b4ef6-ddd0-4be9-a719-530cff150746","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4efc56be-e080-4463-9508-81242b7484c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.1789608} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.580405,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11abec50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","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":"11abec50-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"11abec50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746 200 10ms","method":"GET","requestID":"11abec50-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"4b303a0488d730fb70450a22adfbdcaa","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b303a0488d730fb70450a22adfbdcaa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11afe3f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac74eec2-e687-466b-a9ab-93c11ba8dd9d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.2036762} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487849,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11afe3f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11afe3f0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11afe3f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling 200 11ms","method":"POST","requestID":"11afe3f0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11b1b8b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5baeae27-abdd-4d0d-bbaf-abb285ba9104","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.2151859} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.77716,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11b1b8b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11b1b8b0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11b1b8b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling 200 9ms","method":"POST","requestID":"11b1b8b0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU","level":"info","message":"auth send jwt","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.048995,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ec0cf1c5d43e5b5479456d3a4c4084be","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914081,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be"} experiment-1 | {"level":"info","message":"GET /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f 200 30ms","method":"GET","requestID":"ec0cf1c5d43e5b5479456d3a4c4084be","responseTime":30,"status":200,"url":"/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU","level":"info","message":"auth send jwt","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11e6f4f9355444bfe910ecf4ad98720e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.920096,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11e6f4f9355444bfe910ecf4ad98720e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914081,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11e6f4f9355444bfe910ecf4ad98720e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Attempting to finish experiment","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"11cdf340-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.639149,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11cdf340-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914081,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11cdf340-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746","device":"292a5c5c-5da4-40a6-8b3d-0a019e723baa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c2e861c-624e-449b-a9df-18f20f6db8c7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f0b4ef6-ddd0-4be9-a719-530cff150746': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f0b4ef6-ddd0-4be9-a719-530cff150746","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"0cdd81b9-c5d3-4ac8-9fce-2e2e8c6e62b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.4338691} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36ce3b29879c9aa4e0e01eed79b8739e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c99ae1f-2b92-4ebe-b388-ca7e2fac688d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.4341557} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36ce3b29879c9aa4e0e01eed79b8739e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"11cdf340-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"80143e44072f6da48d93c1e1e98e9749","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"}}},"level":"info","message":"received a callback","requestID":"36ce3b29879c9aa4e0e01eed79b8739e"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80143e44072f6da48d93c1e1e98e9749","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"}}},"level":"info","message":"received a callback","requestID":"80143e44072f6da48d93c1e1e98e9749"} device-1 | {"data":{"peerconnection":"3f0b4ef6-ddd0-4be9-a719-530cff150746","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"11cdf340-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746 204 57ms","method":"DELETE","requestID":"11cdf340-24d1-11f0-816e-bfe403da652c","responseTime":57,"status":204,"url":"/peerconnections/3f0b4ef6-ddd0-4be9-a719-530cff150746"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"},"level":"info","message":"Successfully finished experiment","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11d93de0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c2e861c-624e-449b-a9df-18f20f6db8c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a054bc64-f709-4055-acfc-eb832409bde1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.4737346} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.242661,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11d93de0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7","object_type":"device","rebac_allow":false,"scope_allow":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":"11d93de0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11d93de0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling 200 8ms","method":"POST","requestID":"11d93de0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11dac480-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731c92ad-10c8-48aa-b4ca-daa1b24fec5f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731c92ad-10c8-48aa-b4ca-daa1b24fec5f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"8e08df26-16d4-43cf-8600-c045f08e610a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.4848855} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F292a5c5c-5da4-40a6-8b3d-0a019e723baa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d60610ea-8261-41c5-b1cc-b4832cacb4d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.485111} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d24be6c-7d92-4054-9339-0f179cc056ca","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.4853618} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445086,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11dac480-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11dac480-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"11e6f4f9355444bfe910ecf4ad98720e","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11dac480-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling 200 10ms","method":"POST","requestID":"11dac480-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11e6f4f9355444bfe910ecf4ad98720e"} experiment-1 | {"level":"info","message":"DELETE /experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f 204 201ms","method":"DELETE","requestID":"11e6f4f9355444bfe910ecf4ad98720e","responseTime":201,"status":204,"url":"/experiments/731c92ad-10c8-48aa-b4ca-daa1b24fec5f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"4.302","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"de4c84bcd6633bc88d3e783a2510c73b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"36ce3b29879c9aa4e0e01eed79b8739e","responseTime":152,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c2e861c-624e-449b-a9df-18f20f6db8c7' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"36ce3b29879c9aa4e0e01eed79b8739e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"80143e44072f6da48d93c1e1e98e9749","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"80143e44072f6da48d93c1e1e98e9749"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU","level":"info","message":"auth send jwt","requestID":"28abda916d39e45f975249fb8fb1f3c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28abda916d39e45f975249fb8fb1f3c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"28abda916d39e45f975249fb8fb1f3c6"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2527","request_time":"2.899","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ddee9ead1c016d212ed0422713a8bda5"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/292a5c5c-5da4-40a6-8b3d-0a019e723baa' closed"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.921423,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"28abda916d39e45f975249fb8fb1f3c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914081,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd08a78b-9c82-4a5b-ab9b-5874af3efea6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6237574} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec2071c8-6f86-4c85-8aad-e927f6630ed6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6285858} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"24be32c6-d5e5-4c13-9a5e-82841a7230d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.638628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d54e30c7-e5ff-4e3c-b5ba-8dce72195105","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6387234} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"5584f23a-a5d7-4a3c-adf8-b1982666a5fe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6448433} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"28abda916d39e45f975249fb8fb1f3c6"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28abda916d39e45f975249fb8fb1f3c6"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"28abda916d39e45f975249fb8fb1f3c6","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU","level":"info","message":"auth send jwt","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.886111,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914081,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4MX0.AulhM4qHDQ1hWnBGaCZks4zUKTz5r2gImFv77xFvECU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6018f5f0-c9ce-4a78-a28f-75fe933e9ea7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.669357} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23f686c9-ed9b-41a5-a73f-170ac510722c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.674304} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"295e9b5f-91fa-414d-a910-9955933a7c2e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6871848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abea1b69-8b8d-402f-9fbc-508904130e9f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6872501} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"f0686a74-2525-4aba-833f-89a5bbed9ce2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914081.6907704} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"cb36c570b7c95b4e1d8d63fd88fe1df4","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"c5b124d2015843b28fa0b1378ae1444a"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"c5b124d2015843b28fa0b1378ae1444a","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c5b124d2015843b28fa0b1378ae1444a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"986f15b667b053cffcbcbcc37a1b8ca8"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"986f15b667b053cffcbcbcc37a1b8ca8"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918971,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c5b124d2015843b28fa0b1378ae1444a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5b124d2015843b28fa0b1378ae1444a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969785,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"986f15b667b053cffcbcbcc37a1b8ca8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"ccf40380-cab1-44c2-99a8-4ca8c320522e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.5396214} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5b124d2015843b28fa0b1378ae1444a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"b4be3a13-0341-483e-ae52-cd46d1288293","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.5402637} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d9fd7e4-61d0-4ea7-8ad2-83c9495e9129","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.544798} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c5b124d2015843b28fa0b1378ae1444a","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06650791-ffb9-4d0a-984b-89b32e9939a7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.5471919} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"b176494c-86e1-468f-abb4-fd2af1c36343","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.5492117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"986f15b667b053cffcbcbcc37a1b8ca8"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/54f9495a-1b17-44e2-8d22-108200c995d2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"986f15b667b053cffcbcbcc37a1b8ca8"} device-1 | {"level":"info","message":"PATCH /devices/54f9495a-1b17-44e2-8d22-108200c995d2 200 20ms","method":"PATCH","requestID":"986f15b667b053cffcbcbcc37a1b8ca8","responseTime":20,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678133,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"2208d305-081b-445f-9486-fc7b7ffbc2fd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.5884202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5b124d2015843b28fa0b1378ae1444a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c5b124d2015843b28fa0b1378ae1444a"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c5b124d2015843b28fa0b1378ae1444a"} device-1 | {"level":"info","message":"PATCH /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71 200 62ms","method":"PATCH","requestID":"c5b124d2015843b28fa0b1378ae1444a","responseTime":62,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"254d9b2d3909bb060a9e1f8a58a6e281"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"254d9b2d3909bb060a9e1f8a58a6e281","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/websocket 200 16ms","method":"POST","requestID":"8cdbfd5a7079ed3264ae37a28efbfa3b","responseTime":16,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"254d9b2d3909bb060a9e1f8a58a6e281"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815111,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"254d9b2d3909bb060a9e1f8a58a6e281","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"254d9b2d3909bb060a9e1f8a58a6e281","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"254d9b2d3909bb060a9e1f8a58a6e281"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"254d9b2d3909bb060a9e1f8a58a6e281"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/websocket 200 37ms","method":"POST","requestID":"254d9b2d3909bb060a9e1f8a58a6e281","responseTime":37,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710254,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"213ceac6-286d-4ddb-8f02-31602bfe9fa0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.6483843} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6"} device-1 | {"level":"info","message":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? 200 33ms","method":"GET","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6","responseTime":33,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb6b6b36a4a5d529fd7d9738fea9cff6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"953910e8563da4031eb71186f40a2cca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"953910e8563da4031eb71186f40a2cca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"953910e8563da4031eb71186f40a2cca"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649402,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"953910e8563da4031eb71186f40a2cca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"953910e8563da4031eb71186f40a2cca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"7f61c015-186e-4ada-a87f-c2b6963433b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.6858025} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"953910e8563da4031eb71186f40a2cca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"953910e8563da4031eb71186f40a2cca"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"953910e8563da4031eb71186f40a2cca"} device-1 | {"level":"info","message":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? 200 10ms","method":"GET","requestID":"953910e8563da4031eb71186f40a2cca","responseTime":10,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"1695ed74019cd4ea3c136d41916baae5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1695ed74019cd4ea3c136d41916baae5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1695ed74019cd4ea3c136d41916baae5"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.667643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1695ed74019cd4ea3c136d41916baae5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"1695ed74019cd4ea3c136d41916baae5","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to run experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to book experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully booked experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12a23330-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12a25a40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62445,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12a23330-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12a23330-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675963,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12a25a40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12a25a40-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"795881e9-68a4-40a1-b86c-8f00a927e8e8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.8180683} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"12a23330-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"bc9da415-0fee-4b13-9270-85e71fbb212c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.8188188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12a25a40-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12a23330-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? 200 35ms","method":"GET","requestID":"12a23330-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12a25a40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? 200 35ms","method":"GET","requestID":"12a25a40-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Setting up experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully set up experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12b12750-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12b14e60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12b19c80-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully running experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929106,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12b12750-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"12b12750-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716688,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12b14e60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"12b14e60-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"756ee5a3-1966-45c9-8d09-5c137f8f2296","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9193523} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780275,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12b19c80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"12b19c80-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"7cd18874-02ce-4c1c-ae48-b6893e25510c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9206064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"6f73a01e-9b03-4095-b85c-9630185f288b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9217882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"12b12750-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12b14e60-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12b19c80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling 200 38ms","method":"POST","requestID":"12b19c80-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12b12750-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? 200 42ms","method":"GET","requestID":"12b12750-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12b14e60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? 200 42ms","method":"GET","requestID":"12b14e60-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12b7b700-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12b80520-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf0bdd1-ac93-4023-afd6-73a12fc52e88#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf0bdd1-ac93-4023-afd6-73a12fc52e88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"dc23c208-5f41-40eb-86e4-643e48f6b4c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9314775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf553b95-5692-4ace-a5bf-ad91b9892863","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9316542} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"1695ed74019cd4ea3c136d41916baae5","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b30a8600-abc1-4e40-889a-1e78168d0ef9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9356616} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ceb367b8-032c-49be-bde6-15d6d05ec01c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9357762} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.341464,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.143768,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12b80520-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"12b80520-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12b7b700-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"12b7b700-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1695ed74019cd4ea3c136d41916baae5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12b80520-24d1-11f0-816e-bfe403da652c"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.275","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 272ms","method":"POST","requestID":"1695ed74019cd4ea3c136d41916baae5","responseTime":272,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling 200 35ms","method":"POST","requestID":"12b80520-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12b7b700-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling 200 38ms","method":"POST","requestID":"12b7b700-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12bdaa70-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I","level":"info","message":"auth send jwt","requestID":"b1471b6e083e6cd7ac269bdf743641e0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1471b6e083e6cd7ac269bdf743641e0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1471b6e083e6cd7ac269bdf743641e0"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91cb3ec8-7ed5-4177-b3e2-9228183d940d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9724438} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"client_addr":"127.0.0.1:54416","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514548,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12bdaa70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"12bdaa70-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641965,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b1471b6e083e6cd7ac269bdf743641e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b1471b6e083e6cd7ac269bdf743641e0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12bdaa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling 200 10ms","method":"POST","requestID":"12bdaa70-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.638607636Z"}]},"request_id":"9c34de73-fcd7-4a84-acbf-17b4c7027fbd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914082.9785137} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Building connection plan","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b653cd10-47d5-485b-bb99-842620ddd0b9"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"40679c39-2821-4683-a525-758ab382057a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"f089b221-d645-43e3-91e0-6a02b6e8eca5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1695ed74019cd4ea3c136d41916baae5"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1695ed74019cd4ea3c136d41916baae5"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b1471b6e083e6cd7ac269bdf743641e0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1471b6e083e6cd7ac269bdf743641e0"} gateway-1 | {"time_local":"29/Apr/2025:08:08:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1471b6e083e6cd7ac269bdf743641e0"} device-1 | {"level":"info","message":"GET /devices/54f9495a-1b17-44e2-8d22-108200c995d2? 200 13ms","method":"GET","requestID":"b1471b6e083e6cd7ac269bdf743641e0","responseTime":13,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2?"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:02Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4M30.n9U5jOPH4K6L8PJznSV7YqHwz62vyXAhqatVUM_VA0U","level":"info","message":"auth send jwt","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.97647,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914082,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4Mn0.zz-mH1L2Y9lBn4l-d8uQ5haVHnUzaJAGcj88LqWUQ6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.583929,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d767c1b28d9dc6cd7ffd12814923e2a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914083,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4M30.n9U5jOPH4K6L8PJznSV7YqHwz62vyXAhqatVUM_VA0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"172cc5b4-2b87-4774-acac-57c85f1f56d0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914083.0211623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0fe8435-ae81-4162-87f8-4d02b30d3afe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914083.0213168} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:01.687162625Z"}]},"request_id":"8a65c2e2-03f6-43ba-9e0d-2c6ef5c488ea","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914083.022037} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3"} gateway-1 | {"time_local":"29/Apr/2025:08:08:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3"} device-1 | {"level":"info","message":"GET /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71? 200 11ms","method":"GET","requestID":"d767c1b28d9dc6cd7ffd12814923e2a3","responseTime":11,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1'","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1'","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 88ms","method":"POST","requestID":"12bfcd50-24d1-11f0-816e-bfe403da652c","responseTime":88,"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":"12bfcd50-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1695ed74019cd4ea3c136d41916baae5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12d4dbf0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1c7d939-794f-4e8b-b9b7-8822485be29c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914083.1235192} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214319,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12d4dbf0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"12d4dbf0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12d4dbf0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling 200 8ms","method":"POST","requestID":"12d4dbf0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"12da0c10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02c45a88-0a8e-4913-b151-7aabc55aaddf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914083.1575353} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512981,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"12da0c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"12da0c10-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"12da0c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling 200 8ms","method":"POST","requestID":"12da0c10-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling"} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b28a7d7de18dcca33fdf745323f64981","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b28a7d7de18dcca33fdf745323f64981","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"}}},"level":"info","message":"received a callback","requestID":"b28a7d7de18dcca33fdf745323f64981"} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b28a7d7de18dcca33fdf745323f64981","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"b28a7d7de18dcca33fdf745323f64981"} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","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/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8f3a5d89ed461a0503377186f446858","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c8f3a5d89ed461a0503377186f446858","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"}}},"level":"info","message":"received a callback","requestID":"c8f3a5d89ed461a0503377186f446858"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"140c7190-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd5897040-ef2d-4d9c-a0e0-51dcdfba03f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39bee849-eb5e-4805-99b2-60d2f659b968","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.165718} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.244646,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"140c7190-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","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":"140c7190-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"140c7190-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1 200 8ms","method":"GET","requestID":"140c7190-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"c8f3a5d89ed461a0503377186f446858","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8f3a5d89ed461a0503377186f446858"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"140ff400-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09784194-f39c-4328-bccb-bb7c7b76041b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.1890438} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.614526,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"140ff400-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"140ff400-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"140ff400-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling 200 33ms","method":"POST","requestID":"140ff400-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"14154b30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a96ad34a-9fc2-4eba-b22d-52e82985a2ee","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.2250578} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.697784,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"14154b30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"14154b30-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"14154b30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling 200 10ms","method":"POST","requestID":"14154b30-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A","level":"info","message":"auth send jwt","requestID":"cc3672acdbed0f46a12ac27939b0c9cf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cc3672acdbed0f46a12ac27939b0c9cf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","requestID":"cc3672acdbed0f46a12ac27939b0c9cf"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.824101,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cc3672acdbed0f46a12ac27939b0c9cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914085,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc3672acdbed0f46a12ac27939b0c9cf","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","requestID":"cc3672acdbed0f46a12ac27939b0c9cf"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc3672acdbed0f46a12ac27939b0c9cf"} experiment-1 | {"level":"info","message":"GET /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88 200 10ms","method":"GET","requestID":"cc3672acdbed0f46a12ac27939b0c9cf","responseTime":10,"status":200,"url":"/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A","level":"info","message":"auth send jwt","requestID":"b47672449cd02eeb396052ff1f476949"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b47672449cd02eeb396052ff1f476949","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","requestID":"b47672449cd02eeb396052ff1f476949"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.906677,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b47672449cd02eeb396052ff1f476949","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914085,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b47672449cd02eeb396052ff1f476949","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Attempting to finish experiment","requestID":"b47672449cd02eeb396052ff1f476949"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"1439ea30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.830132,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1439ea30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914085,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1439ea30-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"54f9495a-1b17-44e2-8d22-108200c995d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd5897040-ef2d-4d9c-a0e0-51dcdfba03f1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd5897040-ef2d-4d9c-a0e0-51dcdfba03f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"9f8ba7c7-94c2-421b-8938-55221c3e35a2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.4733741} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ad9a670924921ed411d7bf57c54fcb9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7ad9a670924921ed411d7bf57c54fcb9","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fae2923-684c-44f6-be0a-517557a1075c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.4737186} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"1439ea30-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"13380daadd8590e20dcd3ca80e7a927a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"}}},"level":"info","message":"received a callback","requestID":"7ad9a670924921ed411d7bf57c54fcb9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"13380daadd8590e20dcd3ca80e7a927a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"}}},"level":"info","message":"received a callback","requestID":"13380daadd8590e20dcd3ca80e7a927a"} device-1 | {"data":{"peerconnection":"d5897040-ef2d-4d9c-a0e0-51dcdfba03f1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"1439ea30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1 204 51ms","method":"DELETE","requestID":"1439ea30-24d1-11f0-816e-bfe403da652c","responseTime":51,"status":204,"url":"/peerconnections/d5897040-ef2d-4d9c-a0e0-51dcdfba03f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"},"level":"info","message":"Successfully finished experiment","requestID":"b47672449cd02eeb396052ff1f476949"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1445d110-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54f9495a-1b17-44e2-8d22-108200c995d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebce94bb-10eb-4ef3-b5ea-173864630a4e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.5412388} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215645,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1445d110-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2","object_type":"device","rebac_allow":false,"scope_allow":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":"1445d110-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1445d110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling 200 8ms","method":"POST","requestID":"1445d110-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/54f9495a-1b17-44e2-8d22-108200c995d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"144730a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"787a95e3-7b6c-44ed-bba6-c8538e40f4be","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.550335} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.245596,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"144730a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71","object_type":"device","rebac_allow":false,"scope_allow":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":"144730a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"144730a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling 200 8ms","method":"POST","requestID":"144730a0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf0bdd1-ac93-4023-afd6-73a12fc52e88': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf0bdd1-ac93-4023-afd6-73a12fc52e88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"1bf167fa-f2aa-41f4-82e3-b21b68490eef","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.564387} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23f47073-764f-4d64-9c48-a04f4282a54f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.56451} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"b47672449cd02eeb396052ff1f476949","responseTime":33,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88","requestID":"b47672449cd02eeb396052ff1f476949"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b47672449cd02eeb396052ff1f476949"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"3.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4b6a89120c07de19b2f7e4476f4599e5"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"3.064","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"10b87457a457cc89b54caaacdde5e284"} experiment-1 | {"level":"info","message":"DELETE /experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88 204 214ms","method":"DELETE","requestID":"b47672449cd02eeb396052ff1f476949","responseTime":214,"status":204,"url":"/experiments/0bf0bdd1-ac93-4023-afd6-73a12fc52e88"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"7ad9a670924921ed411d7bf57c54fcb9","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ad9a670924921ed411d7bf57c54fcb9"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5a2c39c-ad5b-4a88-a8c6-d17a8d496e71' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A","level":"info","message":"auth send jwt","requestID":"0bfb9302b24e39577a63810b50b4a7cc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0bfb9302b24e39577a63810b50b4a7cc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"13380daadd8590e20dcd3ca80e7a927a","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"13380daadd8590e20dcd3ca80e7a927a"} device-1 | {"level":"info","message":"postDevices called","requestID":"0bfb9302b24e39577a63810b50b4a7cc"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/54f9495a-1b17-44e2-8d22-108200c995d2' closed"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809009,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0bfb9302b24e39577a63810b50b4a7cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914085,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5650c56-9aa2-49dd-ac20-3e28a897bf80","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.709943} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22bdddbe-048a-4bb9-b004-22c1889464c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.714621} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e2b39a1f-d807-4457-a14f-c021e78ee607","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.7476416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56c2faaa-df2b-409b-b6e5-2a3b404dd5ca","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.7480931} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.747615996Z"}]},"request_id":"226e5e2d-751c-4780-9705-a99491a79690","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.7535863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0bfb9302b24e39577a63810b50b4a7cc"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bfb9302b24e39577a63810b50b4a7cc"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"0bfb9302b24e39577a63810b50b4a7cc","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A","level":"info","message":"auth send jwt","requestID":"7e34ffb086f2d49a714ac40fe3976e3d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7e34ffb086f2d49a714ac40fe3976e3d"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.892946,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7e34ffb086f2d49a714ac40fe3976e3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914085,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4NX0.L6sG5ddNY9PnVy8XThf6AK1v8wukdw9oJAK8Gughf-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"be215b65-b89c-415d-a4b4-1a98a3cab901","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.8413415} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec05d8a8-fddc-4820-b687-da9b271571b7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.8466408} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"75782136-b438-4127-a90b-6d3e03d38746","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.8570805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17ff436d-3dbb-48ac-aa74-b967e9c17ba7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.8572066} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.857057173Z"}]},"request_id":"e60d1a0f-33e4-4849-b70b-be6fd9c3aebb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914085.8611422} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7e34ffb086f2d49a714ac40fe3976e3d"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"7e34ffb086f2d49a714ac40fe3976e3d","responseTime":101,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e34ffb086f2d49a714ac40fe3976e3d"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1caaeaecf68d52a1a3f5a195ca32d938","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1caaeaecf68d52a1a3f5a195ca32d938","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e76f5de6bd18992b6b72b0b5b856b41","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e76f5de6bd18992b6b72b0b5b856b41","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/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":"1caaeaecf68d52a1a3f5a195ca32d938"} device-1 | {"level":"info","message":"OPTIONS /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/websocket 200 1ms","method":"OPTIONS","requestID":"1caaeaecf68d52a1a3f5a195ca32d938","responseTime":1,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/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":"9e76f5de6bd18992b6b72b0b5b856b41"} device-1 | {"level":"info","message":"OPTIONS /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/websocket 200 1ms","method":"OPTIONS","requestID":"9e76f5de6bd18992b6b72b0b5b856b41","responseTime":1,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"cc89e505e83f7da9a7495839398ddae8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc89e505e83f7da9a7495839398ddae8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cc89e505e83f7da9a7495839398ddae8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"1f676e92c9fec654c098118fb8bd2cc5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1f676e92c9fec654c098118fb8bd2cc5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1f676e92c9fec654c098118fb8bd2cc5"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048206,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cc89e505e83f7da9a7495839398ddae8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc89e505e83f7da9a7495839398ddae8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985971,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1f676e92c9fec654c098118fb8bd2cc5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"1f676e92c9fec654c098118fb8bd2cc5","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1f676e92c9fec654c098118fb8bd2cc5"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/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":"1f676e92c9fec654c098118fb8bd2cc5"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/websocket 200 21ms","method":"POST","requestID":"1f676e92c9fec654c098118fb8bd2cc5","responseTime":21,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cc89e505e83f7da9a7495839398ddae8"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cc89e505e83f7da9a7495839398ddae8"} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/websocket 200 42ms","method":"POST","requestID":"cc89e505e83f7da9a7495839398ddae8","responseTime":42,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"cfbf3d321cc5ad663121cace28805193"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cfbf3d321cc5ad663121cace28805193","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cfbf3d321cc5ad663121cace28805193"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653432,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cfbf3d321cc5ad663121cace28805193","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cfbf3d321cc5ad663121cace28805193","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.747615996Z"}]},"request_id":"7da8aba0-f778-4ae1-a65d-40a11b23e1b4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.212059} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cfbf3d321cc5ad663121cace28805193","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cfbf3d321cc5ad663121cace28805193"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cfbf3d321cc5ad663121cace28805193"} device-1 | {"level":"info","message":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? 200 12ms","method":"GET","requestID":"cfbf3d321cc5ad663121cace28805193","responseTime":12,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"f570b4f504120db2a57dc3a97e5920f2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f570b4f504120db2a57dc3a97e5920f2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f570b4f504120db2a57dc3a97e5920f2"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.573484,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f570b4f504120db2a57dc3a97e5920f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f570b4f504120db2a57dc3a97e5920f2","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.857057173Z"}]},"request_id":"8d201452-3633-4c30-9d1d-f52980a2efd6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.2302792} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f570b4f504120db2a57dc3a97e5920f2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f570b4f504120db2a57dc3a97e5920f2"} device-1 | {"level":"info","message":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? 200 13ms","method":"GET","requestID":"f570b4f504120db2a57dc3a97e5920f2","responseTime":13,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f570b4f504120db2a57dc3a97e5920f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"d341941370d49d7ad5ec13452609515b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d341941370d49d7ad5ec13452609515b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d341941370d49d7ad5ec13452609515b"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.845048,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d341941370d49d7ad5ec13452609515b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d341941370d49d7ad5ec13452609515b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to run experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to book experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully booked experiment","requestID":"d341941370d49d7ad5ec13452609515b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15ecf160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15ed1870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.358864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15ecf160-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"15ecf160-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652571,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15ed1870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"15ed1870-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.747615996Z"}]},"request_id":"f01f25ce-e152-4d49-87f9-48d1f749b098","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.3420236} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15ecf160-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.857057173Z"}]},"request_id":"a27b6ab4-3b83-4850-be36-772fd0d28a9f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.3427627} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"15ed1870-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15ecf160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? 200 36ms","method":"GET","requestID":"15ecf160-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15ed1870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? 200 36ms","method":"GET","requestID":"15ed1870-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Setting up experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully set up experiment","requestID":"d341941370d49d7ad5ec13452609515b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15fbe580-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15fc33a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15fc5ab0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully running experiment","requestID":"d341941370d49d7ad5ec13452609515b"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936325,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15fbe580-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"15fbe580-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956764,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15fc33a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"15fc33a0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d5a6a24-8cb2-4de9-9b61-f37cf20dcccb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4166296} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586637,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15fc5ab0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15fc5ab0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15fc5ab0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.747615996Z"}]},"request_id":"a533ccc4-badb-4dfb-ac40-26fcca2c5556","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4207063} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling 200 10ms","method":"POST","requestID":"15fc5ab0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15fbe580-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.857057173Z"}]},"request_id":"d0fd02cd-6997-4402-a829-7a47e8a99627","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4217339} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15fc33a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15fe5680-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15fbe580-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48851e2a-ade4-4fea-a41f-7b9901ce58b7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4277515} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437059,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} device-1 | {"level":"info","message":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? 200 21ms","method":"GET","requestID":"15fbe580-24d1-11f0-816e-bfe403da652c","responseTime":21,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15fe5680-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","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":"15fc33a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? 200 20ms","method":"GET","requestID":"15fc33a0-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15fe5680-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fede8232b-0b76-448c-a4ab-97dce6accbbe#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fede8232b-0b76-448c-a4ab-97dce6accbbe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"63bc023c-6a16-4896-8a1d-eb471635030f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.429172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4869f0ee-517b-4068-9a30-3655cbe82817","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4294522} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"d341941370d49d7ad5ec13452609515b","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15ff8f00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15fe5680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling 200 10ms","method":"POST","requestID":"15fe5680-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5beaed03-1e0d-487c-ae56-95df2c952b0a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4368439} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533691,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 188ms","method":"POST","requestID":"d341941370d49d7ad5ec13452609515b","responseTime":188,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"15ff8f00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","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":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d341941370d49d7ad5ec13452609515b"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15ff8f00-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15ff8f00-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"6f836b9dbad14ae1615285eaaabeb376"} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling 200 10ms","method":"POST","requestID":"15ff8f00-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f836b9dbad14ae1615285eaaabeb376","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f836b9dbad14ae1615285eaaabeb376"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"160163c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658326,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6f836b9dbad14ae1615285eaaabeb376","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f836b9dbad14ae1615285eaaabeb376","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fea2ab54-5777-41a5-8dc0-9ef4fb15fd57","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.448169} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.564532,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"160163c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"160163c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.747615996Z"}]},"request_id":"164d1400-f54b-44ba-b8e4-79c29c1d070e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4518597} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"160163c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling 200 8ms","method":"POST","requestID":"160163c0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6f836b9dbad14ae1615285eaaabeb376","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Building connection plan","requestID":"d341941370d49d7ad5ec13452609515b"} 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":"98a482e4-e766-4f54-b43d-b8f433524b09"},{"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":"fc9008bb-a43c-4f82-a6d4-a711ca7d9695"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"36b2ff2f-e2b2-4a22-8f19-6fb95138ef1b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d341941370d49d7ad5ec13452609515b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d341941370d49d7ad5ec13452609515b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f836b9dbad14ae1615285eaaabeb376"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f836b9dbad14ae1615285eaaabeb376"} device-1 | {"level":"info","message":"GET /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d? 200 14ms","method":"GET","requestID":"6f836b9dbad14ae1615285eaaabeb376","responseTime":14,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d?"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.756814,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"16031170-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"16031170-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"8eca4e082ff81383a9c1a14269056ca4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8eca4e082ff81383a9c1a14269056ca4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eca4e082ff81383a9c1a14269056ca4"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667224,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8eca4e082ff81383a9c1a14269056ca4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8eca4e082ff81383a9c1a14269056ca4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"80de10f1-4b14-4274-ae5e-a17e894c4ef0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4670348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c724e902-9b72-47a6-91b0-dae3747d7402","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.4672592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:05.857057173Z"}]},"request_id":"fefb8642-53fd-4639-bdc9-5ae6d9e8527e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.46854} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"16031170-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8eca4e082ff81383a9c1a14269056ca4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eca4e082ff81383a9c1a14269056ca4"} device-1 | {"level":"info","message":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? 200 13ms","method":"GET","requestID":"8eca4e082ff81383a9c1a14269056ca4","responseTime":13,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8eca4e082ff81383a9c1a14269056ca4"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf'","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf'","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"16031170-24d1-11f0-816e-bfe403da652c"} 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":"16031170-24d1-11f0-816e-bfe403da652c","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":"16031170-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d341941370d49d7ad5ec13452609515b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"160b00b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5fdc214-a423-4e6f-82a1-b5d4ea44f7da","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.5148096} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.351926,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"160b00b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","rebac_allow":false,"scope_allow":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":"160b00b0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"160b00b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling 200 26ms","method":"POST","requestID":"160b00b0-24d1-11f0-816e-bfe403da652c","responseTime":26,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"160f6d80-24d1-11f0-816e-bfe403da652c"} device-1 | {"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c87ed7a-93de-45df-aba8-349de569b676","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.5406637} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497771,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"160f6d80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"160f6d80-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"160f6d80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling 200 9ms","method":"POST","requestID":"160f6d80-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7291275282568425175 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:ztOo\r\na=ice-pwd:Za3Lq+xqU1O1ueb4IAovukOp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B0:FB:B5:A4:38:BB:A0:A2:8E:32:CB:FA:BB:21:C9:DA:C5:E7:F2:00:5C:D8:28:A7:EF:F4:F6:D0:38:E7:E0:F8\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 9145876683847522943 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:+nSF\r\na=ice-pwd:Z6ADoknrg0WVsacTXrRWVpbU\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3C:F6:6F:45:3E:D7:EC:61:58:A8:E4:20:DB:D6:40:48:0F:D1:01:87:C5:39:40:F7:8C:2A:1E:4F:76:F8:35:4F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1819337560 1 udp 2113937151 5a095330-0205-4709-a638-4a65fa618077.local 55901 typ host generation 0 ufrag +nSF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","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/ef1af2a4-eff4-44be-b76a-c39c43348a3d'"} device-1 | {"content":{"candidate":"candidate:1489622211 1 udp 2113937151 bc86e1c6-81f3-461a-bf40-6c0c1cfec181.local 33595 typ host generation 0 ufrag ztOo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","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/0097eefd-3a31-4fd1-8276-8769258eb4bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0097eefd-3a31-4fd1-8276-8769258eb4bf","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"150e06816a0ff94dc3aee7cbfb4d92dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"150e06816a0ff94dc3aee7cbfb4d92dd","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"}}},"level":"info","message":"received a callback","requestID":"150e06816a0ff94dc3aee7cbfb4d92dd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"150e06816a0ff94dc3aee7cbfb4d92dd","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"150e06816a0ff94dc3aee7cbfb4d92dd"} device-1 | {"device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"0097eefd-3a31-4fd1-8276-8769258eb4bf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0097eefd-3a31-4fd1-8276-8769258eb4bf","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/0097eefd-3a31-4fd1-8276-8769258eb4bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0097eefd-3a31-4fd1-8276-8769258eb4bf","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a9114ffda26145a3e97786526e574498","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a9114ffda26145a3e97786526e574498","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"}}},"level":"info","message":"received a callback","requestID":"a9114ffda26145a3e97786526e574498"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"162629d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0097eefd-3a31-4fd1-8276-8769258eb4bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74707baa-9482-4fd2-8962-24049a5c7ab3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.6895077} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.262463,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"162629d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","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":"162629d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"162629d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf 200 9ms","method":"GET","requestID":"162629d0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"a9114ffda26145a3e97786526e574498","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9114ffda26145a3e97786526e574498"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"162d55c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"181352b5eea931ef65c2365a81b243b0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"181352b5eea931ef65c2365a81b243b0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","requestID":"181352b5eea931ef65c2365a81b243b0"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02f04eb5-657a-403e-9da8-e74bd554319e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.7386596} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.072781,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"162d55c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","rebac_allow":false,"scope_allow":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":"162d55c0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.713728,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"181352b5eea931ef65c2365a81b243b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"181352b5eea931ef65c2365a81b243b0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"162d55c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling 200 11ms","method":"POST","requestID":"162d55c0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1632fb10-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","requestID":"181352b5eea931ef65c2365a81b243b0"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"181352b5eea931ef65c2365a81b243b0"} experiment-1 | {"level":"info","message":"GET /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe 200 36ms","method":"GET","requestID":"181352b5eea931ef65c2365a81b243b0","responseTime":36,"status":200,"url":"/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50575147-2302-4260-b159-f9858a6996df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.7745697} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840497,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1632fb10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1632fb10-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU","level":"info","message":"auth send jwt","requestID":"e8af6de0050cfbd093a6aff924c747c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8af6de0050cfbd093a6aff924c747c5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","requestID":"e8af6de0050cfbd093a6aff924c747c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1632fb10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling 200 10ms","method":"POST","requestID":"1632fb10-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.22592,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e8af6de0050cfbd093a6aff924c747c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8af6de0050cfbd093a6aff924c747c5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Attempting to finish experiment","requestID":"e8af6de0050cfbd093a6aff924c747c5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"16359320-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680663,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"16359320-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914088,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OH0.zcJWtymOkGKmEWQbA64-UkAyK06FPCQ8pZ-gjIzDopU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"16359320-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","device":"ef1af2a4-eff4-44be-b76a-c39c43348a3d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf","device":"141143dc-5f87-4e89-ac7f-695d80f3bfbd","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/0097eefd-3a31-4fd1-8276-8769258eb4bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0097eefd-3a31-4fd1-8276-8769258eb4bf","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0097eefd-3a31-4fd1-8276-8769258eb4bf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0097eefd-3a31-4fd1-8276-8769258eb4bf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"697a941f-167c-4e60-ab4c-69cf43168b2a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.8245811} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc0f8985-d396-43f4-baa7-5c4a787c53e6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.824822} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"16359320-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9efe3a11c3cfe2275822ee11fc3a6a26","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9efe3a11c3cfe2275822ee11fc3a6a26","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35be7557bf272786c22273a7a08f096d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"35be7557bf272786c22273a7a08f096d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"}}},"level":"info","message":"received a callback","requestID":"9efe3a11c3cfe2275822ee11fc3a6a26"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"}}},"level":"info","message":"received a callback","requestID":"35be7557bf272786c22273a7a08f096d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"16359320-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf 204 43ms","method":"DELETE","requestID":"16359320-24d1-11f0-816e-bfe403da652c","responseTime":43,"status":204,"url":"/peerconnections/0097eefd-3a31-4fd1-8276-8769258eb4bf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"},"level":"info","message":"Successfully finished experiment","requestID":"e8af6de0050cfbd093a6aff924c747c5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"164327b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1af2a4-eff4-44be-b76a-c39c43348a3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03c60abf-fdbf-4355-abd3-52b5459b748e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.879914} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371121,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"164327b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d","object_type":"device","rebac_allow":false,"scope_allow":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":"164327b0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"164327b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling 200 10ms","method":"POST","requestID":"164327b0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1644fc70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fede8232b-0b76-448c-a4ab-97dce6accbbe': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fede8232b-0b76-448c-a4ab-97dce6accbbe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"6b3d59a7-ba3b-490a-8ff5-de8efe787104","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.888318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a807231-26d6-456d-8b85-abb755e66056","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.8885841} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"e8af6de0050cfbd093a6aff924c747c5","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F141143dc-5f87-4e89-ac7f-695d80f3bfbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff3eb913-ed3b-47ba-8497-70a6c2da6ccb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914088.916626} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.510955,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1644fc70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd","object_type":"device","rebac_allow":false,"scope_allow":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":"1644fc70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1644fc70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling 200 34ms","method":"POST","requestID":"1644fc70-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe","requestID":"e8af6de0050cfbd093a6aff924c747c5"} gateway-1 | {"time_local":"29/Apr/2025:08:08:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8af6de0050cfbd093a6aff924c747c5"} experiment-1 | {"level":"info","message":"DELETE /experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe 204 211ms","method":"DELETE","requestID":"e8af6de0050cfbd093a6aff924c747c5","responseTime":211,"status":204,"url":"/experiments/ede8232b-0b76-448c-a4ab-97dce6accbbe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"9efe3a11c3cfe2275822ee11fc3a6a26","responseTime":186,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"9efe3a11c3cfe2275822ee11fc3a6a26"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"35be7557bf272786c22273a7a08f096d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"35be7557bf272786c22273a7a08f096d","responseTime":186,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OX0.sNWypNHh3a0VCKZnQHUokjOUzjyJ-pAmZAA5sghv1ac","level":"info","message":"auth send jwt","requestID":"16b4f343b2f762fe6c27038da3dc24fd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16b4f343b2f762fe6c27038da3dc24fd","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.825","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8960ddd48214f6e849ef821fb01c2089"} device-1 | {"level":"info","message":"postDevices called","requestID":"16b4f343b2f762fe6c27038da3dc24fd"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:09Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.845","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9b11d84ad4c9cc02ab34d72b6acfea6e"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ef1af2a4-eff4-44be-b76a-c39c43348a3d' closed"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974575,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:09Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/141143dc-5f87-4e89-ac7f-695d80f3bfbd' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"16b4f343b2f762fe6c27038da3dc24fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914089,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OX0.sNWypNHh3a0VCKZnQHUokjOUzjyJ-pAmZAA5sghv1ac"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dfededb8-af25-4d74-873c-a502501e5fb8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.0363927} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8eefc24b-b433-401e-ae74-fffeb209bfb0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.0605757} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e156a33d-5fbe-4859-accb-effda237f044","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.0686805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64d26fbd-a779-458b-bcc7-75bb54a55ff9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.0688689} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.068656234Z"}]},"request_id":"ab24bb53-2297-4b16-b536-adfbbdb43c78","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.0722551} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"16b4f343b2f762fe6c27038da3dc24fd"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"16b4f343b2f762fe6c27038da3dc24fd","responseTime":54,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16b4f343b2f762fe6c27038da3dc24fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OX0.sNWypNHh3a0VCKZnQHUokjOUzjyJ-pAmZAA5sghv1ac","level":"info","message":"auth send jwt","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":24.803035,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914089,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA4OX0.sNWypNHh3a0VCKZnQHUokjOUzjyJ-pAmZAA5sghv1ac"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"daa0d4b9-aebb-47d3-a0d0-a00f6776d27d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.1181138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88f892f2-35be-455b-aaca-e0e8827117bc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.1221206} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"0d56ddca-e09e-4798-9389-d0fb619b111d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.1533003} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc3906f4-8a9e-46e4-a932-71032e1b17ab","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.1532946} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.153280266Z"}]},"request_id":"135a4dd4-f9b3-494e-8440-ada16ab7d3f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914089.156673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc"} gateway-1 | {"time_local":"29/Apr/2025:08:08:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc"} device-1 | {"level":"info","message":"POST /devices? 201 80ms","method":"POST","requestID":"70f0c1ee32c95ff1074e988ecd7ed2dc","responseTime":80,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"336219ba363c1126ca3b89c4d24f9c8e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"336219ba363c1126ca3b89c4d24f9c8e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/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":"336219ba363c1126ca3b89c4d24f9c8e"} device-1 | {"level":"info","message":"OPTIONS /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/websocket 200 1ms","method":"OPTIONS","requestID":"336219ba363c1126ca3b89c4d24f9c8e","responseTime":1,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"c9279a8e907053bf3646cfc9ec3c2e01"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9279a8e907053bf3646cfc9ec3c2e01","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c9279a8e907053bf3646cfc9ec3c2e01"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184823,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c9279a8e907053bf3646cfc9ec3c2e01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9279a8e907053bf3646cfc9ec3c2e01","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d05667cb218e09ed34c47d762d65747","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 succeeded","requestID":"c9279a8e907053bf3646cfc9ec3c2e01"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d05667cb218e09ed34c47d762d65747","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/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":"c9279a8e907053bf3646cfc9ec3c2e01"} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/websocket 200 33ms","method":"POST","requestID":"c9279a8e907053bf3646cfc9ec3c2e01","responseTime":33,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/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":"8d05667cb218e09ed34c47d762d65747"} device-1 | {"level":"info","message":"OPTIONS /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/websocket 200 1ms","method":"OPTIONS","requestID":"8d05667cb218e09ed34c47d762d65747","responseTime":1,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} device-1 | {"level":"info","message":"device 'http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064' connected"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755182,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/websocket 200 14ms","method":"POST","requestID":"3a409f74c4802dfb8dd5e6c1e495fd4f","responseTime":14,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"f28802a0e6630165413e61f12fc204d1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f28802a0e6630165413e61f12fc204d1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f28802a0e6630165413e61f12fc204d1"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73246,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f28802a0e6630165413e61f12fc204d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f28802a0e6630165413e61f12fc204d1","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.068656234Z"}]},"request_id":"55d6484c-1e5b-4920-a191-390ee7a0c93b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.4059827} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f28802a0e6630165413e61f12fc204d1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f28802a0e6630165413e61f12fc204d1"} device-1 | {"level":"info","message":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? 200 10ms","method":"GET","requestID":"f28802a0e6630165413e61f12fc204d1","responseTime":10,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f28802a0e6630165413e61f12fc204d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"34627c9b5310b91bf9c8d002b750cf19"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"34627c9b5310b91bf9c8d002b750cf19","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"34627c9b5310b91bf9c8d002b750cf19"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612082,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"34627c9b5310b91bf9c8d002b750cf19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"34627c9b5310b91bf9c8d002b750cf19","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.153280266Z"}]},"request_id":"ddc2f20e-d91c-4611-810c-99592dbaaffe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.4190571} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"34627c9b5310b91bf9c8d002b750cf19","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"34627c9b5310b91bf9c8d002b750cf19"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34627c9b5310b91bf9c8d002b750cf19"} device-1 | {"level":"info","message":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? 200 10ms","method":"GET","requestID":"34627c9b5310b91bf9c8d002b750cf19","responseTime":10,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df997ba1d67f3ac2574c125dd8db1c52","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.731026,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"df997ba1d67f3ac2574c125dd8db1c52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"df997ba1d67f3ac2574c125dd8db1c52","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to run experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to book experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully booked experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17d671e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17d698f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634801,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17d671e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17d671e0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681454,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17d698f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17d698f0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.068656234Z"}]},"request_id":"f2750d71-4d22-485b-b71d-b827961bba4f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.5251691} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"17d671e0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.153280266Z"}]},"request_id":"253772c2-c6d8-4679-97d5-9fa10e9a6aec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.5257545} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"17d698f0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17d671e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? 200 35ms","method":"GET","requestID":"17d671e0-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17d698f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? 200 35ms","method":"GET","requestID":"17d698f0-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Setting up experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully set up experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"17e53ef0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully running experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793579,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323965,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"650c65db-6fd8-42ce-8c86-6ce78ec8883b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.621518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.068656234Z"}]},"request_id":"0bcbdaef-5a0e-44e4-95b9-b66059d02c99","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.622427} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63295,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17e53ef0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"17e53ef0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.153280266Z"}]},"request_id":"0aa4c5c1-df8a-4aea-b3cc-f75160c0937f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.623451} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? 200 41ms","method":"GET","requestID":"17e4c9c0-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"17e53ef0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling 200 39ms","method":"POST","requestID":"17e53ef0-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? 200 42ms","method":"GET","requestID":"17e4f0d0-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"bb111945-e81e-417b-90fa-52bc0e7bd700","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.6559405} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"17eb5970-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2245a6f7-d49b-4133-82b1-c41c8c4bc058","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.656201} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"17eba790-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"df997ba1d67f3ac2574c125dd8db1c52","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebef8ebe-3196-46d2-a5ab-a375d7993a4b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.6605318} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.312913,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17eb5970-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","rebac_allow":false,"scope_allow":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":"17eb5970-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e36f924-e280-44f0-8e68-c2b1e63b2515","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.6613853} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.326424,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"level":"info","message":"POST /experiments? 201 236ms","method":"POST","requestID":"df997ba1d67f3ac2574c125dd8db1c52","responseTime":236,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17eba790-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17eba790-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"91fcf1678dddb1b1c84ab37fc91e5153"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"17eb5970-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91fcf1678dddb1b1c84ab37fc91e5153","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling 200 11ms","method":"POST","requestID":"17eb5970-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"17eba790-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling 200 11ms","method":"POST","requestID":"17eba790-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91fcf1678dddb1b1c84ab37fc91e5153"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"17eda360-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729395,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"91fcf1678dddb1b1c84ab37fc91e5153","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"91fcf1678dddb1b1c84ab37fc91e5153","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b54c076d-a92a-4100-8c52-66887690c7d0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.6982114} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.435686,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17eda360-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"17eda360-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"17eda360-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.068656234Z"}]},"request_id":"f4be41ec-02f6-4983-8d58-64babfcc8ec8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.7013638} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling 200 31ms","method":"POST","requestID":"17eda360-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91fcf1678dddb1b1c84ab37fc91e5153","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Building connection plan","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} 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":"f31ccbc9-9233-45f9-bfc1-e176eb520972"},{"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":"c65a1975-4393-4519-b0b4-cb694c1bba7a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"325625e3-5e0c-40d2-ab49-68269f878c2a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91fcf1678dddb1b1c84ab37fc91e5153"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91fcf1678dddb1b1c84ab37fc91e5153"} device-1 | {"level":"info","message":"GET /devices/a814feed-bc69-4901-ba8b-9786c9f4954d? 200 38ms","method":"GET","requestID":"91fcf1678dddb1b1c84ab37fc91e5153","responseTime":38,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d?"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.754143,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17f2d380-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk","level":"info","message":"auth send jwt","requestID":"9596c9bbc6f758bf5ea911da29aeddb7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9596c9bbc6f758bf5ea911da29aeddb7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9596c9bbc6f758bf5ea911da29aeddb7"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728149,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9596c9bbc6f758bf5ea911da29aeddb7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914091,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5MX0.nLtXwlDLcJ0VuVLTf07T3tq-LJbfLFXuoR9coyPfTDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9596c9bbc6f758bf5ea911da29aeddb7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:09.153280266Z"}]},"request_id":"1091a109-53c6-4fd5-aa1b-07afb47c5c1c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.7183073} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9596c9bbc6f758bf5ea911da29aeddb7","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"5a9b2366-9060-40e5-98d1-9a834ad9fd5c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.7195907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4eeff86-2fa6-4df7-ab2a-2ce7e4bd7db0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.7197332} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9596c9bbc6f758bf5ea911da29aeddb7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9596c9bbc6f758bf5ea911da29aeddb7"} device-1 | {"level":"info","message":"GET /devices/83c1ccba-0590-463e-8fc4-7a431f58a064? 200 37ms","method":"GET","requestID":"9596c9bbc6f758bf5ea911da29aeddb7","responseTime":37,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1'","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1'","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 94ms","method":"POST","requestID":"17f2d380-24d1-11f0-816e-bfe403da652c","responseTime":94,"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":"17f2d380-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"df997ba1d67f3ac2574c125dd8db1c52"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"18087e60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bea58382-64b5-47ff-bc7c-98e48fd079f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.8510096} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.957321,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"18087e60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"18087e60-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"18087e60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling 200 9ms","method":"POST","requestID":"18087e60-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"180a2c10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8457deb6-c023-483f-bad9-da4e126c14a7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914091.8608103} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380701,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"180a2c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","rebac_allow":false,"scope_allow":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":"180a2c10-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"180a2c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling 200 32ms","method":"POST","requestID":"180a2c10-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling"} device-1 | {"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 3535876288601053598 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:3afc\r\na=ice-pwd:CoVbMNBaWThYWrKI2Z1xlDgo\r\na=ice-options:trickle\r\na=fingerprint:sha-256 47:B0:CC:ED:FC:4A:F8:39:C7:9B:32:09:73:DD:14:66:3E:F3:36:37:5D:48:B2:88:A2:6B:80:EB:67:4A:1F:E7\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 9136225955333582946 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:qIup\r\na=ice-pwd:2jlzEl60EqQWJ0zR96xt6Wu5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 10:48:16:F2:C5:30:DB:75:E6:F5:1A:9F:11:71:6D:85:5E:06:FD:99:13:3A:6D:2E:F5:EC:89:D2:ED:BC:EE:91\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2187963446 1 udp 2113937151 57bbf69d-3efc-471c-88f7-5be16317605e.local 58080 typ host generation 0 ufrag qIup network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","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/a814feed-bc69-4901-ba8b-9786c9f4954d'"} device-1 | {"content":{"candidate":"candidate:3597430179 1 udp 2113937151 2e98aad5-7b49-4fff-84e3-f94d562d765b.local 44540 typ host generation 0 ufrag 3afc network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","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/6831e651-5ee1-40e9-998a-3154d24160f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6831e651-5ee1-40e9-998a-3154d24160f1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24d0ccaea377eb5f379813d520f0034f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"24d0ccaea377eb5f379813d520f0034f","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"}}},"level":"info","message":"received a callback","requestID":"24d0ccaea377eb5f379813d520f0034f"} device-1 | {"device":"83c1ccba-0590-463e-8fc4-7a431f58a064","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"24d0ccaea377eb5f379813d520f0034f","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"24d0ccaea377eb5f379813d520f0034f"} device-1 | {"device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6831e651-5ee1-40e9-998a-3154d24160f1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6831e651-5ee1-40e9-998a-3154d24160f1","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/6831e651-5ee1-40e9-998a-3154d24160f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6831e651-5ee1-40e9-998a-3154d24160f1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1d365d16655418cbf75c15f58a7e8e0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1d365d16655418cbf75c15f58a7e8e0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"}}},"level":"info","message":"received a callback","requestID":"e1d365d16655418cbf75c15f58a7e8e0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"182184a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6831e651-5ee1-40e9-998a-3154d24160f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54d8ecef-7b21-4cfd-880f-94e7dc740909","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.0391386} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.450266,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"182184a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"182184a0-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"182184a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1 200 33ms","method":"GET","requestID":"182184a0-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"e1d365d16655418cbf75c15f58a7e8e0","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1d365d16655418cbf75c15f58a7e8e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1828feb0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA","level":"info","message":"auth send jwt","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e","responseTime":25,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ad8435a-a0dd-4a45-8385-c1d23228afac","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.0851274} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.721021,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e1210cd62abb0ea6c3cc1e5eb216199e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914092,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.298087,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1828feb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1828feb0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1828feb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling 200 30ms","method":"POST","requestID":"1828feb0-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e"} experiment-1 | {"level":"info","message":"GET /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9 200 9ms","method":"GET","requestID":"e1210cd62abb0ea6c3cc1e5eb216199e","responseTime":9,"status":200,"url":"/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"182e07c0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA","level":"info","message":"auth send jwt","requestID":"0dc04b0965c7d7c1ccffae8c195b659c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0dc04b0965c7d7c1ccffae8c195b659c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","requestID":"0dc04b0965c7d7c1ccffae8c195b659c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f42f6d5-51ae-48de-bcf3-2982087dc579","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.096661} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.186747,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"182e07c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","rebac_allow":false,"scope_allow":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":"182e07c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.789552,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0dc04b0965c7d7c1ccffae8c195b659c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914092,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0dc04b0965c7d7c1ccffae8c195b659c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"182e07c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling 200 9ms","method":"POST","requestID":"182e07c0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Attempting to finish experiment","requestID":"0dc04b0965c7d7c1ccffae8c195b659c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"182fdc80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.605161,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"182fdc80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914092,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"182fdc80-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","device":"a814feed-bc69-4901-ba8b-9786c9f4954d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1","device":"83c1ccba-0590-463e-8fc4-7a431f58a064","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/6831e651-5ee1-40e9-998a-3154d24160f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6831e651-5ee1-40e9-998a-3154d24160f1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6831e651-5ee1-40e9-998a-3154d24160f1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6831e651-5ee1-40e9-998a-3154d24160f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"95848648-900a-4f51-ba5c-b1694c855384","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.1378968} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40faf719-58d8-4374-ade1-bbeb9904ff20","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.137944} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c017e4c28b6744fa3d2c8e9ef0e3404","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c017e4c28b6744fa3d2c8e9ef0e3404","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"459a5841af59083c4f58e51585eaa098","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"459a5841af59083c4f58e51585eaa098","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"}}},"level":"info","message":"received a callback","requestID":"4c017e4c28b6744fa3d2c8e9ef0e3404"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"182fdc80-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"}}},"level":"info","message":"received a callback","requestID":"459a5841af59083c4f58e51585eaa098"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"182fdc80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1 204 39ms","method":"DELETE","requestID":"182fdc80-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":204,"url":"/peerconnections/6831e651-5ee1-40e9-998a-3154d24160f1"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"},"level":"info","message":"Successfully finished experiment","requestID":"0dc04b0965c7d7c1ccffae8c195b659c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"183cadc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa814feed-bc69-4901-ba8b-9786c9f4954d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ecbfdcc-cbef-480e-b853-0f5cd2e806ce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.192612} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345692,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"183cadc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"183cadc0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"183cadc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling 200 8ms","method":"POST","requestID":"183cadc0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/a814feed-bc69-4901-ba8b-9786c9f4954d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"183e3460-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"9598886e-b281-479d-a841-54f587a07f83","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.1991975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da46c979-0484-44d8-a87d-dd3971437617","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.1995416} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"0dc04b0965c7d7c1ccffae8c195b659c","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83c1ccba-0590-463e-8fc4-7a431f58a064","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d61bb8b6-06b8-4c4f-a742-21b83e8027a0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.227122} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.338997,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"183e3460-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83c1ccba-0590-463e-8fc4-7a431f58a064","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"183e3460-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"183e3460-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling 200 33ms","method":"POST","requestID":"183e3460-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/83c1ccba-0590-463e-8fc4-7a431f58a064/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9","requestID":"0dc04b0965c7d7c1ccffae8c195b659c"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9 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":"0dc04b0965c7d7c1ccffae8c195b659c"} experiment-1 | {"level":"info","message":"DELETE /experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9 204 227ms","method":"DELETE","requestID":"0dc04b0965c7d7c1ccffae8c195b659c","responseTime":227,"status":204,"url":"/experiments/fe1baf9b-ca2b-41f8-a1bc-a3e2fe25a1a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"4c017e4c28b6744fa3d2c8e9ef0e3404","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c017e4c28b6744fa3d2c8e9ef0e3404"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"459a5841af59083c4f58e51585eaa098","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.186","http_referrer":"","http_user_agent":"node-fetch","requestID":"459a5841af59083c4f58e51585eaa098"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA","level":"info","message":"auth send jwt","requestID":"375f8415eb02df8672b3dfacc0b9958b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"375f8415eb02df8672b3dfacc0b9958b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"375f8415eb02df8672b3dfacc0b9958b"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.948","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2cb17f6e745407dedb83213d9d0307c4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.973","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5973b3de3dc8595782061912fe950853"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.374155,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"375f8415eb02df8672b3dfacc0b9958b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914092,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","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/83c1ccba-0590-463e-8fc4-7a431f58a064' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a814feed-bc69-4901-ba8b-9786c9f4954d' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04c79367-a9b6-4b86-a759-84b86fc6e03b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.3738751} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c23a972f-0d48-4336-b7ab-dfda3bef20ce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.3776789} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"69a30667-97ac-4512-a8de-96cf1c2859aa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.3901627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55580c9c-8385-4f2b-8848-cc40c87a95df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.390399} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.390137497Z"}]},"request_id":"2f847397-2d37-4df9-93f2-3a969c7dcf8e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.3939745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"375f8415eb02df8672b3dfacc0b9958b"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"375f8415eb02df8672b3dfacc0b9958b"} device-1 | {"level":"info","message":"POST /devices? 201 68ms","method":"POST","requestID":"375f8415eb02df8672b3dfacc0b9958b","responseTime":68,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA","level":"info","message":"auth send jwt","requestID":"414efda373b9365745b7861a5f131682"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"414efda373b9365745b7861a5f131682","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"414efda373b9365745b7861a5f131682"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.719531,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"414efda373b9365745b7861a5f131682","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914092,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5Mn0.UASCXumB_NYPtZ1NVXxsH7LpEkNvL0A8QW7YVFTIBvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c7394a4f-4bd6-42a2-9b7b-9718660d18b4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.413737} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7908540b-cf00-4535-addb-1f10f2858d6e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.417475} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"0b0ab47b-d083-4c70-a446-05f422a23251","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.4264698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"241ce9ab-2ef5-4338-9edc-f620cde80265","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.4266212} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"2ad4f177-5034-4605-bfec-d409ff3e7c10","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914092.4304125} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"414efda373b9365745b7861a5f131682"} gateway-1 | {"time_local":"29/Apr/2025:08:08:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"414efda373b9365745b7861a5f131682"} device-1 | {"level":"info","message":"POST /devices? 201 32ms","method":"POST","requestID":"414efda373b9365745b7861a5f131682","responseTime":32,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5M30.lmTtUhrc46f5h_QS2wpDlrwbSRIK0m5hK_5ie8cLMBo","level":"info","message":"auth send jwt","requestID":"ca42722ec42639ddeca6147c99436069"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca42722ec42639ddeca6147c99436069","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ca42722ec42639ddeca6147c99436069"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845641,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ca42722ec42639ddeca6147c99436069","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914093,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5M30.lmTtUhrc46f5h_QS2wpDlrwbSRIK0m5hK_5ie8cLMBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca42722ec42639ddeca6147c99436069","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"32e49706-b2f2-4f0e-ba49-f874629a2cf7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914093.2981844} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca42722ec42639ddeca6147c99436069","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77e5d066-5034-4e75-8ad2-c598af122712","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914093.3030934} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ca42722ec42639ddeca6147c99436069","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"6f691a13-ea30-4a3c-a43b-46aa150bc4f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914093.337443} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca42722ec42639ddeca6147c99436069","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ca42722ec42639ddeca6147c99436069"} device-1 | {"level":"info","message":"PATCH /devices/63b0103c-0a1b-46a3-9a43-bbf406973281 200 50ms","method":"PATCH","requestID":"ca42722ec42639ddeca6147c99436069","responseTime":50,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"} gateway-1 | {"time_local":"29/Apr/2025:08:08:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/63b0103c-0a1b-46a3-9a43-bbf406973281 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ca42722ec42639ddeca6147c99436069"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5M30.lmTtUhrc46f5h_QS2wpDlrwbSRIK0m5hK_5ie8cLMBo","level":"info","message":"auth send jwt","requestID":"88772367002d09ddf9e1caed0f8c6151"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"88772367002d09ddf9e1caed0f8c6151","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"88772367002d09ddf9e1caed0f8c6151"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64763,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"88772367002d09ddf9e1caed0f8c6151","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914093,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5M30.lmTtUhrc46f5h_QS2wpDlrwbSRIK0m5hK_5ie8cLMBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88772367002d09ddf9e1caed0f8c6151","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:08:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"88772367002d09ddf9e1caed0f8c6151"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"88772367002d09ddf9e1caed0f8c6151"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/websocket 200 34ms","method":"POST","requestID":"88772367002d09ddf9e1caed0f8c6151","responseTime":34,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2a075baaffec5e75bf93ddbc59d4812e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2a075baaffec5e75bf93ddbc59d4812e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/973a81da-9559-4689-8ded-1d6ce088301f/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":"2a075baaffec5e75bf93ddbc59d4812e"} device-1 | {"level":"info","message":"OPTIONS /devices/973a81da-9559-4689-8ded-1d6ce088301f/websocket 200 1ms","method":"OPTIONS","requestID":"2a075baaffec5e75bf93ddbc59d4812e","responseTime":1,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I","level":"info","message":"auth send jwt","requestID":"1583ae8473a6a725340fb686a97458dd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1583ae8473a6a725340fb686a97458dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1583ae8473a6a725340fb686a97458dd"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.403175,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1583ae8473a6a725340fb686a97458dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1583ae8473a6a725340fb686a97458dd","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1583ae8473a6a725340fb686a97458dd"} gateway-1 | {"time_local":"29/Apr/2025:08:08:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1583ae8473a6a725340fb686a97458dd"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/websocket 200 34ms","method":"POST","requestID":"1583ae8473a6a725340fb686a97458dd","responseTime":34,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I","level":"info","message":"auth send jwt","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644898,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.390137497Z"}]},"request_id":"e161b97a-f7e6-4c6a-904c-9843d90732c9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914094.8210297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea"} gateway-1 | {"time_local":"29/Apr/2025:08:08:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea"} device-1 | {"level":"info","message":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? 200 10ms","method":"GET","requestID":"0757ec5b0e9ad1c9d7fdd3682612d2ea","responseTime":10,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I","level":"info","message":"auth send jwt","requestID":"36dbd98f87657cd7c851dbaa35a54007"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"36dbd98f87657cd7c851dbaa35a54007","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36dbd98f87657cd7c851dbaa35a54007"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037229,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"36dbd98f87657cd7c851dbaa35a54007","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"36dbd98f87657cd7c851dbaa35a54007","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"25d8aa62-d811-4d5e-a039-71996f85c53b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914094.8371} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"36dbd98f87657cd7c851dbaa35a54007","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36dbd98f87657cd7c851dbaa35a54007"} gateway-1 | {"time_local":"29/Apr/2025:08:08:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36dbd98f87657cd7c851dbaa35a54007"} device-1 | {"level":"info","message":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? 200 10ms","method":"GET","requestID":"36dbd98f87657cd7c851dbaa35a54007","responseTime":10,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I","level":"info","message":"auth send jwt","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"708f2de86b42c6ab9e0eed19a71c55e7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.777213,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"708f2de86b42c6ab9e0eed19a71c55e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"708f2de86b42c6ab9e0eed19a71c55e7","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to run experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to book experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully booked experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19d88370-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605994,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19d88370-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"19d88370-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.587572,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.390137497Z"}]},"request_id":"8915c949-5e95-460e-a675-8b51228be91f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914094.9182467} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19d88370-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"9ab691e2-5241-48d8-86a2-aeb5c34adf1b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914094.9189444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19d88370-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? 200 35ms","method":"GET","requestID":"19d88370-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? 200 35ms","method":"GET","requestID":"19d8aa80-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Setting up experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully set up experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19eccec0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19ed1ce0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully running experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969791,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19eccec0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19eccec0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690638,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9e49b8b-d041-4339-8a4e-dbd0b8925429","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0277379} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.630527,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19ed1ce0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"19ed1ce0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.390137497Z"}]},"request_id":"fc3387c2-e796-4519-a91d-a05eadf57ca7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0298922} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"19eccec0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"b1810710-d272-4bf6-a74a-1e9009610962","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0318332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19ed1ce0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling 200 19ms","method":"POST","requestID":"19ed1ce0-24d1-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19eccec0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? 200 23ms","method":"GET","requestID":"19eccec0-24d1-11f0-816e-bfe403da652c","responseTime":23,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? 200 23ms","method":"GET","requestID":"19ecf5d0-24d1-11f0-816e-bfe403da652c","responseTime":23,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19f0ed70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19f11480-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"acc3043d-51ba-4090-b50d-86d35f45dcb1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0614684} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5b22c1f-7d5f-4a8d-b352-792b98c7e81e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0616076} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aabff7da-2a0a-435f-8a7e-4fd88f857154","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0616324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"851239fa-dfd2-4425-8fd5-beec844e1bf3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.061771} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"708f2de86b42c6ab9e0eed19a71c55e7","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.20373,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.203226,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19f11480-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","rebac_allow":false,"scope_allow":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":"19f11480-24d1-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19f0ed70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","rebac_allow":false,"scope_allow":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":"19f0ed70-24d1-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19f11480-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling 200 20ms","method":"POST","requestID":"19f11480-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19f0ed70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling 200 22ms","method":"POST","requestID":"19f0ed70-24d1-11f0-816e-bfe403da652c","responseTime":22,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:08:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 221ms","method":"POST","requestID":"708f2de86b42c6ab9e0eed19a71c55e7","responseTime":221,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19f496f0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NX0.0MsfledHFc9Cbs_UKKJMVIq8NtRdUZj_iZGNtyKkQy4","level":"info","message":"auth send jwt","requestID":"2af1f2d34788775252d1895f2d24e87c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2af1f2d34788775252d1895f2d24e87c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2af1f2d34788775252d1895f2d24e87c"} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a17c3f8-a691-4c00-bace-877ddf4ade73","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0760062} authorization-1 | {"client_addr":"127.0.0.1:40980","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.315116,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706258,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19f496f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","rebac_allow":false,"scope_allow":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":"19f496f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2af1f2d34788775252d1895f2d24e87c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914095,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NX0.0MsfledHFc9Cbs_UKKJMVIq8NtRdUZj_iZGNtyKkQy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2af1f2d34788775252d1895f2d24e87c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19f496f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling 200 10ms","method":"POST","requestID":"19f496f0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.390137497Z"}]},"request_id":"80448f04-5081-44c6-a3f9-98d2f933e88b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0814092} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Building connection plan","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} 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":"ad27acf1-a005-4414-9d99-3af1db337af5"},{"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":"72305786-c47e-4df6-8099-e45645487852"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"df799a8c-63b8-47d4-b696-880e73499a31"}]},"level":"info","message":"Built pairwise service configurations","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2af1f2d34788775252d1895f2d24e87c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2af1f2d34788775252d1895f2d24e87c"} gateway-1 | {"time_local":"29/Apr/2025:08:08:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2af1f2d34788775252d1895f2d24e87c"} device-1 | {"level":"info","message":"GET /devices/973a81da-9559-4689-8ded-1d6ce088301f? 200 12ms","method":"GET","requestID":"2af1f2d34788775252d1895f2d24e87c","responseTime":12,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f?"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.663785,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"19f692c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914094,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NH0.JOwqinFr53jze6WXwKRPxRKK7Qi3bIG9wKkD9VLoT_I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NX0.0MsfledHFc9Cbs_UKKJMVIq8NtRdUZj_iZGNtyKkQy4","level":"info","message":"auth send jwt","requestID":"e569efce81e08c935e338ba8e0ac1718"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e569efce81e08c935e338ba8e0ac1718","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e569efce81e08c935e338ba8e0ac1718"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722598,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e569efce81e08c935e338ba8e0ac1718","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914095,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5NX0.0MsfledHFc9Cbs_UKKJMVIq8NtRdUZj_iZGNtyKkQy4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e569efce81e08c935e338ba8e0ac1718","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"f9e60c35-d378-49f2-81aa-b7ac2d2f4ff2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0991008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1bc2d6d-1bb3-4e92-a0ea-087c3efa9372","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.0993474} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:12.426450632Z"}]},"request_id":"80881996-5867-4c23-bf6e-45045d3d86a4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.1003504} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e569efce81e08c935e338ba8e0ac1718","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e569efce81e08c935e338ba8e0ac1718"} gateway-1 | {"time_local":"29/Apr/2025:08:08:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e569efce81e08c935e338ba8e0ac1718"} device-1 | {"level":"info","message":"GET /devices/63b0103c-0a1b-46a3-9a43-bbf406973281? 200 14ms","method":"GET","requestID":"e569efce81e08c935e338ba8e0ac1718","responseTime":14,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740'","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740'","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"19f692c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"708f2de86b42c6ab9e0eed19a71c55e7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1a047570-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"184da992-f74e-47a8-870d-d7cfdd6ac256","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.179118} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232899,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1a047570-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","rebac_allow":false,"scope_allow":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":"1a047570-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1a047570-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling 200 28ms","method":"POST","requestID":"1a047570-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1a090950-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd5d1a68-2faf-4f42-9faf-e1f5aeff99fa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914095.2098029} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663195,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1a090950-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1a090950-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1a090950-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling 200 11ms","method":"POST","requestID":"1a090950-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling"} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4332860048297067891 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:uP47\r\na=ice-pwd:d1bpYb8gyZU8/TCgLRmX/CoE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 50:47:C8:54:CA:64:D6:79:B4:9A:43:31:68:C9:7A:0B:56:6D:3A:E4:F2:BB:0E:34:7F:06:51:CD:1F:0F:41:8A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2283933473 1 udp 2113937151 710c8aca-8a8b-49c2-a6f5-16d55af31771.local 37554 typ host generation 0 ufrag uP47 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"973a81da-9559-4689-8ded-1d6ce088301f","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/973a81da-9559-4689-8ded-1d6ce088301f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27d502a124d6d3099c112f851ff4c99c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27d502a124d6d3099c112f851ff4c99c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"}}},"level":"info","message":"received a callback","requestID":"27d502a124d6d3099c112f851ff4c99c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 3ms","method":"POST","requestID":"27d502a124d6d3099c112f851ff4c99c","responseTime":3,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"27d502a124d6d3099c112f851ff4c99c"} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"973a81da-9559-4689-8ded-1d6ce088301f","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/8328fb59-7859-4c94-86ea-5522b44d3740' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f790ca644beec410d6388a435dddc20","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9f790ca644beec410d6388a435dddc20","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"}}},"level":"info","message":"received a callback","requestID":"9f790ca644beec410d6388a435dddc20"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"1b429ac0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8328fb59-7859-4c94-86ea-5522b44d3740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a9baf0c-c47b-4cf4-a152-0b7558345b38","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.265264} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.487352,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b429ac0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","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":"1b429ac0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"1b429ac0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740 200 9ms","method":"GET","requestID":"1b429ac0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"9f790ca644beec410d6388a435dddc20","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f790ca644beec410d6388a435dddc20"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b461d30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc25c10c-dcd2-484f-9157-3c5844ad8f8b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.2882783} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b461d30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.839248,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling 200 33ms","method":"POST","requestID":"1b461d30-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b461d30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"1b461d30-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b4b7460-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96eca07a-7b11-45da-9788-3c704e7da980","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.3229666} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073534,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b4b7460-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b4b7460-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b4b7460-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling 200 9ms","method":"POST","requestID":"1b4b7460-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o","level":"info","message":"auth send jwt","requestID":"68dcabc0bb735d48d683bb5504568c03"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"68dcabc0bb735d48d683bb5504568c03","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","requestID":"68dcabc0bb735d48d683bb5504568c03"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.640464,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"68dcabc0bb735d48d683bb5504568c03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914097,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68dcabc0bb735d48d683bb5504568c03","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","requestID":"68dcabc0bb735d48d683bb5504568c03"} experiment-1 | {"level":"info","message":"GET /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4 200 9ms","method":"GET","requestID":"68dcabc0bb735d48d683bb5504568c03","responseTime":9,"status":200,"url":"/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68dcabc0bb735d48d683bb5504568c03"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o","level":"info","message":"auth send jwt","requestID":"9f47ae9729198c80268a91e91a74d269"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f47ae9729198c80268a91e91a74d269","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","requestID":"9f47ae9729198c80268a91e91a74d269"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.751083,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9f47ae9729198c80268a91e91a74d269","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914097,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9f47ae9729198c80268a91e91a74d269","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Attempting to finish experiment","requestID":"9f47ae9729198c80268a91e91a74d269"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"1b597e20-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.72589,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b597e20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914097,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b597e20-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740","device":"973a81da-9559-4689-8ded-1d6ce088301f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63b0103c-0a1b-46a3-9a43-bbf406973281","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8328fb59-7859-4c94-86ea-5522b44d3740","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8328fb59-7859-4c94-86ea-5522b44d3740': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8328fb59-7859-4c94-86ea-5522b44d3740","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"a882ea4a-e618-4f2e-bea7-ff7367a13225","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.4255724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c88e751-2749-4430-8d02-759c1a617122","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.4257755} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"1b597e20-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"478065a4d2d69ea569ce6c47e75da03b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"478065a4d2d69ea569ce6c47e75da03b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"}}},"level":"info","message":"received a callback","requestID":"478065a4d2d69ea569ce6c47e75da03b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1996ad9de0ecbc1711627e10e6b3fc10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1996ad9de0ecbc1711627e10e6b3fc10","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"1b597e20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740 204 47ms","method":"DELETE","requestID":"1b597e20-24d1-11f0-816e-bfe403da652c","responseTime":47,"status":204,"url":"/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8328fb59-7859-4c94-86ea-5522b44d3740"}}},"level":"info","message":"received a callback","requestID":"1996ad9de0ecbc1711627e10e6b3fc10"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"},"level":"info","message":"Successfully finished experiment","requestID":"9f47ae9729198c80268a91e91a74d269"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b684b30-24d1-11f0-816e-bfe403da652c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281'"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F973a81da-9559-4689-8ded-1d6ce088301f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91382170-ba8c-40bc-b52b-af364f8de23d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.5110395} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408359,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b684b30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f","object_type":"device","rebac_allow":false,"scope_allow":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":"1b684b30-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b684b30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling 200 8ms","method":"POST","requestID":"1b684b30-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/973a81da-9559-4689-8ded-1d6ce088301f/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"a071a741-529d-4b0f-883a-9f54290f27e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.5168705} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b69d1d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad05a5d3-a4c0-453c-b52b-ab496bdc2a97","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.5171647} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"9f47ae9729198c80268a91e91a74d269","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63b0103c-0a1b-46a3-9a43-bbf406973281","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b31e6b7d-6b49-4700-9c50-fd17b256be7a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.5220382} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.363032,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1b69d1d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281","object_type":"device","rebac_allow":false,"scope_allow":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":"1b69d1d0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b69d1d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling 200 9ms","method":"POST","requestID":"1b69d1d0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/63b0103c-0a1b-46a3-9a43-bbf406973281/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4","requestID":"9f47ae9729198c80268a91e91a74d269"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f47ae9729198c80268a91e91a74d269"} experiment-1 | {"level":"info","message":"DELETE /experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4 204 233ms","method":"DELETE","requestID":"9f47ae9729198c80268a91e91a74d269","responseTime":233,"status":204,"url":"/experiments/f23ffb9a-32e6-4b92-bdf1-aa4b7fbe9cb4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.231","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d82788843763ff8dcdcfda88f1de1459"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"478065a4d2d69ea569ce6c47e75da03b","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.185","http_referrer":"","http_user_agent":"node-fetch","requestID":"478065a4d2d69ea569ce6c47e75da03b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"1996ad9de0ecbc1711627e10e6b3fc10","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.181","http_referrer":"","http_user_agent":"node-fetch","requestID":"1996ad9de0ecbc1711627e10e6b3fc10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o","level":"info","message":"auth send jwt","requestID":"66f00ec9df9954761a63854a8458158a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"66f00ec9df9954761a63854a8458158a","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.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":"7c4f3fc6a28679acd928a7d62dac6b26"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/63b0103c-0a1b-46a3-9a43-bbf406973281' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"66f00ec9df9954761a63854a8458158a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/973a81da-9559-4689-8ded-1d6ce088301f' closed"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.733977,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"66f00ec9df9954761a63854a8458158a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914097,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d6863638-a06b-4fd0-87ef-571f0bee1f46","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.660531} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fa2e6f6-f3c3-4d1e-a802-6d50cf9bf1c9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.6651423} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3274fe33-3c20-49ca-8efd-545dbfa35c2e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7022128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e964992-9d98-42a7-94f7-ffa47df21bf2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.702374} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.702192945Z"}]},"request_id":"baef7f82-a1dc-49ec-bf1f-2463152808e6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7067645} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"66f00ec9df9954761a63854a8458158a"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66f00ec9df9954761a63854a8458158a"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"66f00ec9df9954761a63854a8458158a","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o","level":"info","message":"auth send jwt","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.671172,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914097,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5N30.XnO7a9lP_L4un4L9yfjDbUORKaA7rSOgns1lNE-My_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b0cc603-49a9-4d9d-a10e-a893e6721df6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7555122} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a05bf7ce-35b4-466f-9a54-292836ff938f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.760054} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"86af45af-6d3f-4b76-bf31-73c6702e61ed","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7683585} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88c75d1b-7d17-4807-9d8a-483c63f36357","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7685363} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"a875f242-c54b-4d47-aeb7-e6818b5a3c2d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914097.7965271} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7","responseTime":82,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c20d1a8a075bc813dd1c3db67d55dcc7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5OH0.2qjJ0aquA_ZNcX7J1DB6PzTqcoPzkPLS-ZSoInJCbKc","level":"info","message":"auth send jwt","requestID":"6b7c5f30e73604ea57b8479886ad9295"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6b7c5f30e73604ea57b8479886ad9295","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6b7c5f30e73604ea57b8479886ad9295"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:18Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70015,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6b7c5f30e73604ea57b8479886ad9295","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914098,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5OH0.2qjJ0aquA_ZNcX7J1DB6PzTqcoPzkPLS-ZSoInJCbKc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b7c5f30e73604ea57b8479886ad9295","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"0345b1e3-76f3-4b18-953a-dba0a67489e2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914098.6790934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b7c5f30e73604ea57b8479886ad9295","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d9384c6-2e28-4c95-a801-e7a3d6002a19","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914098.7079444} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6b7c5f30e73604ea57b8479886ad9295","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"7e3ffbe3-aa99-4d1b-b0a0-ac5bf018bb91","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914098.7539017} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"6b7c5f30e73604ea57b8479886ad9295","responseTime":22,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6b7c5f30e73604ea57b8479886ad9295"} device-1 | {"level":"info","message":"PATCH /devices/56128316-c9bc-402a-91cd-f2fed46bfe31 200 85ms","method":"PATCH","requestID":"6b7c5f30e73604ea57b8479886ad9295","responseTime":85,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"} gateway-1 | {"time_local":"29/Apr/2025:08:08:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/56128316-c9bc-402a-91cd-f2fed46bfe31 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6b7c5f30e73604ea57b8479886ad9295"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5OH0.2qjJ0aquA_ZNcX7J1DB6PzTqcoPzkPLS-ZSoInJCbKc","level":"info","message":"auth send jwt","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:18Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791544,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ded4b1eb2d0a47cf545a73a0ab14143f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914098,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDA5OH0.2qjJ0aquA_ZNcX7J1DB6PzTqcoPzkPLS-ZSoInJCbKc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/websocket 200 15ms","method":"POST","requestID":"ded4b1eb2d0a47cf545a73a0ab14143f","responseTime":15,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b53f4629486fd593fd7dfa140bb0d4e2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b53f4629486fd593fd7dfa140bb0d4e2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/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":"b53f4629486fd593fd7dfa140bb0d4e2"} device-1 | {"level":"info","message":"OPTIONS /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/websocket 200 2ms","method":"OPTIONS","requestID":"b53f4629486fd593fd7dfa140bb0d4e2","responseTime":2,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"3871ea0b84094b39f1882e5c2c525286"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3871ea0b84094b39f1882e5c2c525286","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3871ea0b84094b39f1882e5c2c525286"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190898,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3871ea0b84094b39f1882e5c2c525286","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3871ea0b84094b39f1882e5c2c525286","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3871ea0b84094b39f1882e5c2c525286"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/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":"3871ea0b84094b39f1882e5c2c525286"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/websocket 200 25ms","method":"POST","requestID":"3871ea0b84094b39f1882e5c2c525286","responseTime":25,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"cf39f1b3ec1263b64638cd34fa55dd25"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf39f1b3ec1263b64638cd34fa55dd25","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf39f1b3ec1263b64638cd34fa55dd25"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200014,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cf39f1b3ec1263b64638cd34fa55dd25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf39f1b3ec1263b64638cd34fa55dd25","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.702192945Z"}]},"request_id":"baebe10d-a4fe-43b8-bbf9-84c00c6b3903","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.1595743} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cf39f1b3ec1263b64638cd34fa55dd25","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf39f1b3ec1263b64638cd34fa55dd25"} device-1 | {"level":"info","message":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? 200 13ms","method":"GET","requestID":"cf39f1b3ec1263b64638cd34fa55dd25","responseTime":13,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf39f1b3ec1263b64638cd34fa55dd25"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"aa8ec023df6c1e8ddd2597d25df26e10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa8ec023df6c1e8ddd2597d25df26e10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa8ec023df6c1e8ddd2597d25df26e10"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630453,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"aa8ec023df6c1e8ddd2597d25df26e10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aa8ec023df6c1e8ddd2597d25df26e10","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"b4b64336-c608-4212-85d7-3fba3670b7fe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.1745648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa8ec023df6c1e8ddd2597d25df26e10","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa8ec023df6c1e8ddd2597d25df26e10"} device-1 | {"level":"info","message":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? 200 10ms","method":"GET","requestID":"aa8ec023df6c1e8ddd2597d25df26e10","responseTime":10,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa8ec023df6c1e8ddd2597d25df26e10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"61de54f2428eca2d3cafbf594df9c953"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"61de54f2428eca2d3cafbf594df9c953","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"61de54f2428eca2d3cafbf594df9c953"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.624841,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"61de54f2428eca2d3cafbf594df9c953","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"61de54f2428eca2d3cafbf594df9c953","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to run experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to book experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully booked experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116242,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937502,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.702192945Z"}]},"request_id":"a7576ebe-515b-445b-9418-798dee5b00a5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.2444572} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"548894c5-6716-45b8-a3e7-6275a4abfd1d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.247436} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? 200 12ms","method":"GET","requestID":"1d08b4c0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? 200 13ms","method":"GET","requestID":"1d08dbd0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Setting up experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully locked booking for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to update booking for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully updated booking for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully set up experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d18e160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d192f80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.558737,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully running experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829167,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d18e160-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1d18e160-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc5bd19c-3b16-4d68-85c7-fd83ad9b3222","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.3495898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"4fa1358e-e646-4267-afe5-aa1fcd271b97","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.3518827} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.988111,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d192f80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","rebac_allow":false,"scope_allow":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":"1d192f80-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1d18e160-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.702192945Z"}]},"request_id":"cdac0041-2ada-4b1e-b205-d9e036e4b03e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.352848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d18e160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? 200 16ms","method":"GET","requestID":"1d18e160-24d1-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d192f80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling 200 15ms","method":"POST","requestID":"1d192f80-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? 200 19ms","method":"GET","requestID":"1d18ba50-24d1-11f0-816e-bfe403da652c","responseTime":19,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc372a885-8119-48a9-8959-f4f091576462#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc372a885-8119-48a9-8959-f4f091576462","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"74c57c6d-e147-46d7-8c2c-5490c7d26fd8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.3604615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c6601cb-8ca2-4ff1-a36b-a45495374eff","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.360661} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d1f7110-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"61de54f2428eca2d3cafbf594df9c953","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d1fbf30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89627ccd-228f-4f80-91f7-9a4aa7e88a80","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.3898737} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879384,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d1f7110-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d1f7110-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d46b5025-588c-4c71-8a37-2839b88f413b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.3923209} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"61de54f2428eca2d3cafbf594df9c953"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.951448,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"level":"info","message":"POST /experiments? 201 211ms","method":"POST","requestID":"61de54f2428eca2d3cafbf594df9c953","responseTime":211,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d1fbf30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d1fbf30-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d1f7110-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling 200 11ms","method":"POST","requestID":"1d1f7110-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d1fbf30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling 200 11ms","method":"POST","requestID":"1d1fbf30-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"4600d1c8f8d8268f915436045c588c34"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4600d1c8f8d8268f915436045c588c34","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4600d1c8f8d8268f915436045c588c34"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d21bb00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54432","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932096,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4600d1c8f8d8268f915436045c588c34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4600d1c8f8d8268f915436045c588c34","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91497e68-6eca-4c66-8e30-a225e014f0e3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.4039211} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244011,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d21bb00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","rebac_allow":false,"scope_allow":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":"1d21bb00-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.702192945Z"}]},"request_id":"d2622430-9548-4fc4-a45e-e5e1afa2c755","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.4074411} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d21bb00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4600d1c8f8d8268f915436045c588c34","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling 200 8ms","method":"POST","requestID":"1d21bb00-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Building connection plan","requestID":"61de54f2428eca2d3cafbf594df9c953"} 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":"a8cb4355-7871-4063-bda2-587c5885965d"},{"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":"eede981a-562d-4154-bfd8-7dbcb6570dfc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7f66b4e4-d32a-434a-a8f0-f7ce18ad15b1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"61de54f2428eca2d3cafbf594df9c953"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"61de54f2428eca2d3cafbf594df9c953"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4600d1c8f8d8268f915436045c588c34"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4600d1c8f8d8268f915436045c588c34"} device-1 | {"level":"info","message":"GET /devices/adbc3c14-6f7b-4b13-811f-007d53cba673? 200 37ms","method":"GET","requestID":"4600d1c8f8d8268f915436045c588c34","responseTime":37,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673?"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.688158,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk","level":"info","message":"auth send jwt","requestID":"e9864673738712e9af767e135017037c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e9864673738712e9af767e135017037c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9864673738712e9af767e135017037c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e9864673738712e9af767e135017037c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914100,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMH0.Qvu6fUxusADY5y_o-D20R5hNTrDjHUteFPCeHZe6MIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e9864673738712e9af767e135017037c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"8cf0919e-1a03-4cb8-bc55-e1e91bad06ba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.446593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"493ef1cd-eb9b-466e-a42d-4a395e613685","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.446722} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:17.768332373Z"}]},"request_id":"5c2cf0b7-038a-48ec-a905-ca8f8a5a2aaf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.447531} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e9864673738712e9af767e135017037c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9864673738712e9af767e135017037c"} device-1 | {"level":"info","message":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? 200 12ms","method":"GET","requestID":"e9864673738712e9af767e135017037c","responseTime":12,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/56128316-c9bc-402a-91cd-f2fed46bfe31? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9864673738712e9af767e135017037c"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14'","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14'","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 54ms","method":"POST","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c","responseTime":54,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"1d26eb20-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"61de54f2428eca2d3cafbf594df9c953"} device-1 | {"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d365470-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68ae7555-5d81-4ee0-9c0e-69f79370baad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.5398126} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806034,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d365470-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1d365470-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d365470-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling 200 8ms","method":"POST","requestID":"1d365470-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d37db10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c82b62e4-a72c-4a79-a9c1-5732cd4ce0de","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914100.548932} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253813,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d37db10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","rebac_allow":false,"scope_allow":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":"1d37db10-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d37db10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling 200 7ms","method":"POST","requestID":"1d37db10-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling"} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1655875128350300056 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:3k6G\r\na=ice-pwd:1bn/fvxPlTUMLbeXH9xXVRFS\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CC:1D:B3:78:E9:59:40:C0:23:42:59:9B:0A:B8:FA:02:4D:94:54:AF:71:A8:02:E8:92:CE:2E:9A:BD:A8:D8:7E\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:2336683556 1 udp 2113937151 93ed91f5-f17c-44a2-9134-b478f74d3ffa.local 60934 typ host generation 0 ufrag 3k6G network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","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/38bf174b-d237-4b2b-897a-107d521e3f14' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ab7a83f47217b803fb563202e188c107","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ab7a83f47217b803fb563202e188c107","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"}}},"level":"info","message":"received a callback","requestID":"ab7a83f47217b803fb563202e188c107"} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"ab7a83f47217b803fb563202e188c107","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"ab7a83f47217b803fb563202e188c107"} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","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/38bf174b-d237-4b2b-897a-107d521e3f14' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b638a632fd4a59b0528a955f7f922b03","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b638a632fd4a59b0528a955f7f922b03","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"}}},"level":"info","message":"received a callback","requestID":"b638a632fd4a59b0528a955f7f922b03"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"1e6f49a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38bf174b-d237-4b2b-897a-107d521e3f14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b98385cf-6aa6-48c1-9948-4faebd0dfe69","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.5908453} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.513775,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e6f49a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","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":"1e6f49a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"1e6f49a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14 200 9ms","method":"GET","requestID":"1e6f49a0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"b638a632fd4a59b0528a955f7f922b03","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"b638a632fd4a59b0528a955f7f922b03"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1e72cc10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd093ffd-764a-4242-9a57-3e7855b1f241","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.6135557} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.195163,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e72cc10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e72cc10-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1e72cc10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling 200 8ms","method":"POST","requestID":"1e72cc10-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1e742ba0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db9fd764-5e09-46bb-ba8e-796c72cdf84b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.6226263} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361696,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e742ba0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e742ba0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1e742ba0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling 200 8ms","method":"POST","requestID":"1e742ba0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c","level":"info","message":"auth send jwt","requestID":"37a5cbaeb5d4e253cfd453d64336ca07"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"37a5cbaeb5d4e253cfd453d64336ca07","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c372a885-8119-48a9-8959-f4f091576462","requestID":"37a5cbaeb5d4e253cfd453d64336ca07"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732675,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"37a5cbaeb5d4e253cfd453d64336ca07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914102,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37a5cbaeb5d4e253cfd453d64336ca07","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c372a885-8119-48a9-8959-f4f091576462","requestID":"37a5cbaeb5d4e253cfd453d64336ca07"} gateway-1 | {"time_local":"29/Apr/2025:08:08:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c372a885-8119-48a9-8959-f4f091576462 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37a5cbaeb5d4e253cfd453d64336ca07"} experiment-1 | {"level":"info","message":"GET /experiments/c372a885-8119-48a9-8959-f4f091576462 200 10ms","method":"GET","requestID":"37a5cbaeb5d4e253cfd453d64336ca07","responseTime":10,"status":200,"url":"/experiments/c372a885-8119-48a9-8959-f4f091576462"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c","level":"info","message":"auth send jwt","requestID":"37faaa61c30f849a0325c70930c6da93"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37faaa61c30f849a0325c70930c6da93","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c372a885-8119-48a9-8959-f4f091576462","requestID":"37faaa61c30f849a0325c70930c6da93"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.828215,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"37faaa61c30f849a0325c70930c6da93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914102,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"37faaa61c30f849a0325c70930c6da93","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Attempting to finish experiment","requestID":"37faaa61c30f849a0325c70930c6da93"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.699688,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914102,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14","device":"adbc3c14-6f7b-4b13-811f-007d53cba673","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"56128316-c9bc-402a-91cd-f2fed46bfe31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38bf174b-d237-4b2b-897a-107d521e3f14","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38bf174b-d237-4b2b-897a-107d521e3f14': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38bf174b-d237-4b2b-897a-107d521e3f14","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"dd36ca31-d8d8-49c2-812a-a5b97d89523d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.7534828} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd0384a5-aa12-43e2-8d52-efc2439013a5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.753724} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4345f145b0aebde9a2ac8f2247d949c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4345f145b0aebde9a2ac8f2247d949c9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"614f30aff0fc87bf6490cf0b8dc4e95c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"614f30aff0fc87bf6490cf0b8dc4e95c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"}}},"level":"info","message":"received a callback","requestID":"4345f145b0aebde9a2ac8f2247d949c9"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"}}},"level":"info","message":"received a callback","requestID":"614f30aff0fc87bf6490cf0b8dc4e95c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14 204 83ms","method":"DELETE","requestID":"1e831fc0-24d1-11f0-816e-bfe403da652c","responseTime":83,"status":204,"url":"/peerconnections/38bf174b-d237-4b2b-897a-107d521e3f14"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c372a885-8119-48a9-8959-f4f091576462"},"level":"info","message":"Successfully finished experiment","requestID":"37faaa61c30f849a0325c70930c6da93"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1e956f40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadbc3c14-6f7b-4b13-811f-007d53cba673","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c9a725e-aafc-4b02-badd-d61c9cd0ad34","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.8400834} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.254757,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e956f40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673","object_type":"device","rebac_allow":false,"scope_allow":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":"1e956f40-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1e956f40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling 200 8ms","method":"POST","requestID":"1e956f40-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/adbc3c14-6f7b-4b13-811f-007d53cba673/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1e96ced0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56128316-c9bc-402a-91cd-f2fed46bfe31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3529ada4-2f1b-4041-9b4c-f90a617354e9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.8493133} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc372a885-8119-48a9-8959-f4f091576462': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc372a885-8119-48a9-8959-f4f091576462","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"4afbb0ee-6e01-403c-8f0f-71b075004ae3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.8497999} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4684454-8c68-4097-b7c7-14767d336ddd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.8501878} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.69337,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e96ced0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1e96ced0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"37faaa61c30f849a0325c70930c6da93","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1e96ced0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling 200 9ms","method":"POST","requestID":"1e96ced0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/56128316-c9bc-402a-91cd-f2fed46bfe31/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c372a885-8119-48a9-8959-f4f091576462","requestID":"37faaa61c30f849a0325c70930c6da93"} gateway-1 | {"time_local":"29/Apr/2025:08:08:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c372a885-8119-48a9-8959-f4f091576462 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37faaa61c30f849a0325c70930c6da93"} experiment-1 | {"level":"info","message":"DELETE /experiments/c372a885-8119-48a9-8959-f4f091576462 204 242ms","method":"DELETE","requestID":"37faaa61c30f849a0325c70930c6da93","responseTime":242,"status":204,"url":"/experiments/c372a885-8119-48a9-8959-f4f091576462"} gateway-1 | {"time_local":"29/Apr/2025:08:08:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.171","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5c57e01d960732d1f4fdadf5e8ab0849"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/56128316-c9bc-402a-91cd-f2fed46bfe31' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"4345f145b0aebde9a2ac8f2247d949c9","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"4345f145b0aebde9a2ac8f2247d949c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"614f30aff0fc87bf6490cf0b8dc4e95c","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"614f30aff0fc87bf6490cf0b8dc4e95c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c","level":"info","message":"auth send jwt","requestID":"b397758b42993572ffd63a513505492c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"b397758b42993572ffd63a513505492c","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b397758b42993572ffd63a513505492c"} gateway-1 | {"time_local":"29/Apr/2025:08:08:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.841","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5004ea4c5620f3726aeccd728d4d6511"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/adbc3c14-6f7b-4b13-811f-007d53cba673' closed"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.780479,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b397758b42993572ffd63a513505492c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914102,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwMn0.4AUWqmoV2jg_MuRAqnOCJkLTYqB3X3sBMyL3Ib_7c3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65ff368d-858b-4916-881f-655a92158381","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914102.9969726} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0e4609c-ece8-460e-8b47-a4996837870d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0013645} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"fadf53b0-68bb-4657-ae9a-dd19ecd84a4a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0347843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed00f0bd-814c-4ad7-ac1c-7c0c1eafb3d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0350552} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"ff2aa8e5-fff1-4ce7-a274-a9f167754d1e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0394254} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b397758b42993572ffd63a513505492c"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"b397758b42993572ffd63a513505492c","responseTime":63,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b397758b42993572ffd63a513505492c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ","level":"info","message":"auth send jwt","requestID":"e078b06613dc2ed46a45c6d517f3601d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e078b06613dc2ed46a45c6d517f3601d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e078b06613dc2ed46a45c6d517f3601d"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.784297,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e078b06613dc2ed46a45c6d517f3601d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914103,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"53021520-4fa1-4376-8f23-21ddb964d933","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.062251} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e36cedf1-01b1-4939-8746-1b09780ff38c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0665882} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"dc22e57d-4f47-4122-8832-b826f970e497","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0792415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5b52221-10c6-448f-927e-7c87b3c5c58d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.0793316} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.079218759Z"}]},"request_id":"551966ac-f4d4-402c-8ce5-7610a9eb071e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.083407} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e078b06613dc2ed46a45c6d517f3601d"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"e078b06613dc2ed46a45c6d517f3601d","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e078b06613dc2ed46a45c6d517f3601d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ","level":"info","message":"auth send jwt","requestID":"2c0792230e269d3e8683c995b5b1aed1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c0792230e269d3e8683c995b5b1aed1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2c0792230e269d3e8683c995b5b1aed1"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805303,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2c0792230e269d3e8683c995b5b1aed1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914103,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"2c0792230e269d3e8683c995b5b1aed1","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"40debb13-02c4-423c-bb5e-3bcee12dede7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.9429803} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2c0792230e269d3e8683c995b5b1aed1","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26689b54-c8a7-42bf-981a-f392bdfd46df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.9471586} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2c0792230e269d3e8683c995b5b1aed1","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"707b92b9-a85b-492d-b98f-fc54cd5019c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914103.9938893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2c0792230e269d3e8683c995b5b1aed1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2c0792230e269d3e8683c995b5b1aed1"} device-1 | {"level":"info","message":"PATCH /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7 200 84ms","method":"PATCH","requestID":"2c0792230e269d3e8683c995b5b1aed1","responseTime":84,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2c0792230e269d3e8683c995b5b1aed1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ","level":"info","message":"auth send jwt","requestID":"f29d92294f180a226ff1130ceb3b76d9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f29d92294f180a226ff1130ceb3b76d9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f29d92294f180a226ff1130ceb3b76d9"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715496,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f29d92294f180a226ff1130ceb3b76d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914103,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwM30.JOEKjqWafnYWoVvqmZsQ8aNIgg1KwtCMifLAYNiF1xQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f29d92294f180a226ff1130ceb3b76d9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f29d92294f180a226ff1130ceb3b76d9"} gateway-1 | {"time_local":"29/Apr/2025:08:08:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f29d92294f180a226ff1130ceb3b76d9"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/websocket 200 37ms","method":"POST","requestID":"f29d92294f180a226ff1130ceb3b76d9","responseTime":37,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d76878cdb619a7c7108528cb6c1e8d42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/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":"d76878cdb619a7c7108528cb6c1e8d42"} device-1 | {"level":"info","message":"OPTIONS /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/websocket 200 1ms","method":"OPTIONS","requestID":"d76878cdb619a7c7108528cb6c1e8d42","responseTime":1,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d76878cdb619a7c7108528cb6c1e8d42","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"3728463192a78b72ae4d8ec49fc19660"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3728463192a78b72ae4d8ec49fc19660","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3728463192a78b72ae4d8ec49fc19660"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.358498,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3728463192a78b72ae4d8ec49fc19660","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3728463192a78b72ae4d8ec49fc19660","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3728463192a78b72ae4d8ec49fc19660"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/websocket 200 22ms","method":"POST","requestID":"3728463192a78b72ae4d8ec49fc19660","responseTime":22,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/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":"3728463192a78b72ae4d8ec49fc19660"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"9891b054efdd170e389a683029dd4b3b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9891b054efdd170e389a683029dd4b3b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9891b054efdd170e389a683029dd4b3b"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170277,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9891b054efdd170e389a683029dd4b3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9891b054efdd170e389a683029dd4b3b","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"e204dac7-5da7-4009-95d8-a53106626f65","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.3981962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9891b054efdd170e389a683029dd4b3b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9891b054efdd170e389a683029dd4b3b"} device-1 | {"level":"info","message":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? 200 20ms","method":"GET","requestID":"9891b054efdd170e389a683029dd4b3b","responseTime":20,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9891b054efdd170e389a683029dd4b3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"8bf3882fa338ee22d9ad6612007b99b2"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"8bf3882fa338ee22d9ad6612007b99b2","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8bf3882fa338ee22d9ad6612007b99b2"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.573437,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8bf3882fa338ee22d9ad6612007b99b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8bf3882fa338ee22d9ad6612007b99b2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.079218759Z"}]},"request_id":"74d53c7e-a270-4416-b1f6-d63c83d2557a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.4237075} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8bf3882fa338ee22d9ad6612007b99b2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8bf3882fa338ee22d9ad6612007b99b2"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8bf3882fa338ee22d9ad6612007b99b2"} device-1 | {"level":"info","message":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? 200 8ms","method":"GET","requestID":"8bf3882fa338ee22d9ad6612007b99b2","responseTime":8,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"cf14510c9f54571a699f92e972d0f0f5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf14510c9f54571a699f92e972d0f0f5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"cf14510c9f54571a699f92e972d0f0f5"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.716647,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cf14510c9f54571a699f92e972d0f0f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf14510c9f54571a699f92e972d0f0f5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to run experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to book experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully booked experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"202b5180-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803572,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"202b5180-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"202b5180-24d1-11f0-816e-bfe403da652c","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849645,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"419864ee-877c-444b-a346-29011d13b846","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.524867} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"202b5180-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.079218759Z"}]},"request_id":"8799c778-b83a-4b99-b8f0-c0fe9a22bd4b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.5301979} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"202b5180-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? 200 35ms","method":"GET","requestID":"202b5180-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? 200 35ms","method":"GET","requestID":"202b9fa0-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Setting up experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully set up experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2038e610-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"20390d20-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully running experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"20395b40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958159,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2038e610-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2038e610-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63543,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"20390d20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"20390d20-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c16b2e9f-aa10-4ea5-9990-0d1ee40bfd34","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6184926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"0e464855-5317-4944-a083-9391da40121e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.619069} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.079218759Z"}]},"request_id":"bffe73b8-6ad5-41e6-a12f-db15dde2abed","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6199539} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.381556,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"20395b40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"20395b40-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2038e610-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"20390d20-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3599c917-1b07-40b7-931c-55a2d3ceab0d#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3599c917-1b07-40b7-931c-55a2d3ceab0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"79a1bea5-19db-4e40-a79b-32b463cef950","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6238954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dde6427b-d450-4723-a7c4-a7f8adf84947","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6241357} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"20395b40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling 200 37ms","method":"POST","requestID":"20395b40-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"cf14510c9f54571a699f92e972d0f0f5","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2038e610-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? 200 41ms","method":"GET","requestID":"2038e610-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"20390d20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? 200 40ms","method":"GET","requestID":"20390d20-24d1-11f0-816e-bfe403da652c","responseTime":40,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"203f4eb0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"614be767-c25e-47c7-abb9-5c329f00cc24","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.631746} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"203feaf0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.807815,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"203f4eb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"203f4eb0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"cf14510c9f54571a699f92e972d0f0f5"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"cf14510c9f54571a699f92e972d0f0f5","responseTime":205,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"203f4eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling 200 9ms","method":"POST","requestID":"203f4eb0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af61e4c6-6b77-4138-ab1a-65ea8cd0d4b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6374924} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.983452,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"203feaf0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"268f80e5fa4680754f15842c9def7a30"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"203feaf0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"268f80e5fa4680754f15842c9def7a30","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"268f80e5fa4680754f15842c9def7a30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"203feaf0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling 200 36ms","method":"POST","requestID":"203feaf0-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80055,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"268f80e5fa4680754f15842c9def7a30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"268f80e5fa4680754f15842c9def7a30","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2045b750-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08: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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.034758791Z"}]},"request_id":"4d4244ae-4c4c-4838-80cb-743bf6a895f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6731403} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce4023a4-003b-4af7-9506-dab33db0b50d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6733181} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"268f80e5fa4680754f15842c9def7a30","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.350112,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2045b750-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2045b750-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"268f80e5fa4680754f15842c9def7a30"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"268f80e5fa4680754f15842c9def7a30"} device-1 | {"level":"info","message":"GET /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7? 200 12ms","method":"GET","requestID":"268f80e5fa4680754f15842c9def7a30","responseTime":12,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2045b750-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling 200 9ms","method":"POST","requestID":"2045b750-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Building connection plan","requestID":"cf14510c9f54571a699f92e972d0f0f5"} 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":"c96b4874-2ec9-48b9-b69d-aa884f09bf49"},{"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":"1bed32a1-7814-4de8-b2e0-a5bcd03d519a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"02e5b347-e9ad-4414-b614-20928da4908c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"cf14510c9f54571a699f92e972d0f0f5"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"cf14510c9f54571a699f92e972d0f0f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo","level":"info","message":"auth send jwt","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.653941,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"20478c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"20478c10-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900861,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cc3d70f8e363ed0c6220876eec6b0d4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914105,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwNX0.lnKSiM6NAU69l8wIybsTUilglE-FEjU3Hc6SgRX4vEo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:23.079218759Z"}]},"request_id":"dec6a7cc-5942-4847-93ea-676ad03ba08f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.6894922} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f"} device-1 | {"level":"info","message":"GET /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0? 200 35ms","method":"GET","requestID":"cc3d70f8e363ed0c6220876eec6b0d4f","responseTime":35,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"4f4e8347-a02d-4a05-8a34-d985657e92e7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.718893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e35b34bd-cce2-44f6-ae92-0b41e67ac3c6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.7190814} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"20478c10-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b'","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b'","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 81ms","method":"POST","requestID":"20478c10-24d1-11f0-816e-bfe403da652c","responseTime":81,"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":"20478c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"cf14510c9f54571a699f92e972d0f0f5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"205bb050-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d94949e4-5b41-4902-8bde-d8fa1f7ae36a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.8178048} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377229,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"205bb050-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"205bb050-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"205bb050-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling 200 12ms","method":"POST","requestID":"205bb050-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"205dac20-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98296398-f46a-4d99-8b60-21405bee99c4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914105.8303874} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.313816,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"205dac20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","rebac_allow":false,"scope_allow":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":"205dac20-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"205dac20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling 200 8ms","method":"POST","requestID":"205dac20-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling"} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 903931558624854638 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:Y6dN\r\na=ice-pwd:smUy2VTjtaok2yo0NnkFr7lG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2E:B0:D1:3A:1D:5E:AF:64:B1:19:2B:98:34:5B:A0:DF:C0:9D:1B:BA:9A:7F:FE:A1:AF:A5:3B:7A:7D:70:20:CE\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:527026276 1 udp 2113937151 13399b5e-d044-4b76-af77-5630c1cc312c.local 47332 typ host generation 0 ufrag Y6dN network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","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/ae95a273-b29f-450c-8a65-2bf4ac4a495b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7a4e65a6df6459f1def48ac37b276df2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7a4e65a6df6459f1def48ac37b276df2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"}}},"level":"info","message":"received a callback","requestID":"7a4e65a6df6459f1def48ac37b276df2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"7a4e65a6df6459f1def48ac37b276df2","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a4e65a6df6459f1def48ac37b276df2"} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","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/ae95a273-b29f-450c-8a65-2bf4ac4a495b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eb1bf9a3c173f4d1923e6e90471e1d9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb1bf9a3c173f4d1923e6e90471e1d9c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"}}},"level":"info","message":"received a callback","requestID":"eb1bf9a3c173f4d1923e6e90471e1d9c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"21951ab0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae95a273-b29f-450c-8a65-2bf4ac4a495b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8483f326-f754-49e8-a118-e1de876f488e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914107.8716104} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.435849,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"21951ab0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","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":"21951ab0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"21951ab0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b 200 7ms","method":"GET","requestID":"21951ab0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"eb1bf9a3c173f4d1923e6e90471e1d9c","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb1bf9a3c173f4d1923e6e90471e1d9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"21984f00-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38adf776-f5eb-4a0a-8f88-bdb49f2d1d4a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914107.8917768} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.079879,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"21984f00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","rebac_allow":false,"scope_allow":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":"21984f00-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"21984f00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling 200 7ms","method":"POST","requestID":"21984f00-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"219a4ad0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e42b3f3-56f3-4af4-94e5-d70bdcd844b8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914107.9061048} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291776,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"219a4ad0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"219a4ad0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"219a4ad0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling 200 9ms","method":"POST","requestID":"219a4ad0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwN30.1km_8gJC-aHkI5ety_P4JWTOMEIuRZ2MmL78y65Kxo8","level":"info","message":"auth send jwt","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.715844,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914107,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwN30.1km_8gJC-aHkI5ety_P4JWTOMEIuRZ2MmL78y65Kxo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f"} experiment-1 | {"level":"info","message":"GET /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d 200 9ms","method":"GET","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f","responseTime":9,"status":200,"url":"/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcda2ffcc3d94ae4bbf23f799b78fb2f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwN30.1km_8gJC-aHkI5ety_P4JWTOMEIuRZ2MmL78y65Kxo8","level":"info","message":"auth send jwt","requestID":"01b086d721dd99d3b41e6d4f41a09475"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"01b086d721dd99d3b41e6d4f41a09475","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","requestID":"01b086d721dd99d3b41e6d4f41a09475"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.949447,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"01b086d721dd99d3b41e6d4f41a09475","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914107,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwN30.1km_8gJC-aHkI5ety_P4JWTOMEIuRZ2MmL78y65Kxo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01b086d721dd99d3b41e6d4f41a09475","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Attempting to finish experiment","requestID":"01b086d721dd99d3b41e6d4f41a09475"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.813155,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914107,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwN30.1km_8gJC-aHkI5ety_P4JWTOMEIuRZ2MmL78y65Kxo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b","device":"ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f151afd2-22cc-46bf-b8b0-3199bb991de7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ae95a273-b29f-450c-8a65-2bf4ac4a495b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae95a273-b29f-450c-8a65-2bf4ac4a495b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae95a273-b29f-450c-8a65-2bf4ac4a495b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"29c24b12-7bd5-4f1f-a04f-b46b7b2c577d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.0344665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abb4818a-e309-4c5a-a2c8-7c7378d201f7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.0347025} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e82311501bb9cc75a952f5c3552a6f9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e82311501bb9cc75a952f5c3552a6f9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"}}},"level":"info","message":"received a callback","requestID":"6e82311501bb9cc75a952f5c3552a6f9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7fc0fdac440e4a1577276206c45d9b76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"DELETE /peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b 204 18ms","method":"DELETE","requestID":"21ac9a50-24d1-11f0-816e-bfe403da652c","responseTime":18,"status":204,"url":"/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7fc0fdac440e4a1577276206c45d9b76","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ae95a273-b29f-450c-8a65-2bf4ac4a495b"}}},"level":"info","message":"received a callback","requestID":"7fc0fdac440e4a1577276206c45d9b76"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"},"level":"info","message":"Successfully finished experiment","requestID":"01b086d721dd99d3b41e6d4f41a09475"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"21b5c210-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34bf1e81-7795-4354-8348-8cc5632ba61c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.0855918} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327931,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"21b5c210-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"21b5c210-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"21b5c210-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling 200 32ms","method":"POST","requestID":"21b5c210-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"21baf230-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3599c917-1b07-40b7-931c-55a2d3ceab0d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3599c917-1b07-40b7-931c-55a2d3ceab0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"77fe3257-bef6-4076-97e7-d7c075ff4e68","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.1164436} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e73ea86e-9a09-49cb-a85a-a8ae63d644fa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.1165974} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"01b086d721dd99d3b41e6d4f41a09475","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff151afd2-22cc-46bf-b8b0-3199bb991de7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a672dc30-60b3-484d-8e43-995dc5f375b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.1201618} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287441,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"21baf230-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7","object_type":"device","rebac_allow":false,"scope_allow":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":"21baf230-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"21baf230-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling 200 9ms","method":"POST","requestID":"21baf230-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d","requestID":"01b086d721dd99d3b41e6d4f41a09475"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01b086d721dd99d3b41e6d4f41a09475"} experiment-1 | {"level":"info","message":"DELETE /experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d 204 226ms","method":"DELETE","requestID":"01b086d721dd99d3b41e6d4f41a09475","responseTime":226,"status":204,"url":"/experiments/3599c917-1b07-40b7-931c-55a2d3ceab0d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.174","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a0a9dfefdfa04a3fd81f53f3e87e2c3a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f151afd2-22cc-46bf-b8b0-3199bb991de7' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 177ms","method":"POST","requestID":"6e82311501bb9cc75a952f5c3552a6f9","responseTime":177,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e82311501bb9cc75a952f5c3552a6f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"7fc0fdac440e4a1577276206c45d9b76","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch","requestID":"7fc0fdac440e4a1577276206c45d9b76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOH0.kXgtNEwFz1vqVztjZsMuMphaOyzI7wzzhePoFkymSEw","level":"info","message":"auth send jwt","requestID":"17a2fd41213f444dfea8734d57afc861"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17a2fd41213f444dfea8734d57afc861","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"17a2fd41213f444dfea8734d57afc861"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.76372,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"17a2fd41213f444dfea8734d57afc861","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914108,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOH0.kXgtNEwFz1vqVztjZsMuMphaOyzI7wzzhePoFkymSEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.852","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5a617aac313f99780498e6a5221564c1"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ffd0b5be-9b0c-4ee3-ae22-ac176fab5ae0' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b1ae66ee-abcd-4bba-9a8c-0ec26cf388b4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2356863} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a4b783b-83ff-47e0-a930-d6255679548e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.240645} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"a469721c-0107-4df5-80db-0c1c99fe1407","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2541614} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd0fdd2d-1883-4afe-8707-231b55364782","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2544198} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"74c74d47-ca78-4d1b-ae4c-10ecd543f1a6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2599423} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"17a2fd41213f444dfea8734d57afc861"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17a2fd41213f444dfea8734d57afc861"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"17a2fd41213f444dfea8734d57afc861","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOH0.kXgtNEwFz1vqVztjZsMuMphaOyzI7wzzhePoFkymSEw","level":"info","message":"auth send jwt","requestID":"13dd54f4d4e0a7cb80025118d1a4e187"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"13dd54f4d4e0a7cb80025118d1a4e187"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.700476,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"13dd54f4d4e0a7cb80025118d1a4e187","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914108,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOH0.kXgtNEwFz1vqVztjZsMuMphaOyzI7wzzhePoFkymSEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"799cfffb-01fb-4f66-874a-6399a71c4a8f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.28274} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a077b057-7f08-413a-89ad-b93c80a06e96","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2869787} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ed77a0a6-e6d5-46c4-a895-6d02f9e9ffca","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.2967713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"997a96b8-b665-46b9-97db-cdc1d5c0055f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.296913} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.296733397Z"}]},"request_id":"05e5ae74-8f0b-41f6-9350-9c704b911d78","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914108.3011749} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"13dd54f4d4e0a7cb80025118d1a4e187"} gateway-1 | {"time_local":"29/Apr/2025:08:08:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13dd54f4d4e0a7cb80025118d1a4e187"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"13dd54f4d4e0a7cb80025118d1a4e187","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOX0.11Jon-U_Prs1pwl56IEXiaEKN0h8Te2EeioVywm9gbs","level":"info","message":"auth send jwt","requestID":"0bebf7c621e1868193d8db2aee48a77d"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"0bebf7c621e1868193d8db2aee48a77d","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0bebf7c621e1868193d8db2aee48a77d"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688301,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0bebf7c621e1868193d8db2aee48a77d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914109,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOX0.11Jon-U_Prs1pwl56IEXiaEKN0h8Te2EeioVywm9gbs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0bebf7c621e1868193d8db2aee48a77d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"bafece54-e19b-42f4-a2d4-27fd452d97ba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914109.1314063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bebf7c621e1868193d8db2aee48a77d","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1f3d6ab-8299-4c12-b2d1-6e338566567d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914109.1354175} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0bebf7c621e1868193d8db2aee48a77d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"5fd3d8da-4f96-4937-961f-824f2666f36d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914109.1721036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bebf7c621e1868193d8db2aee48a77d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0bebf7c621e1868193d8db2aee48a77d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.074","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0bebf7c621e1868193d8db2aee48a77d"} device-1 | {"level":"info","message":"PATCH /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29 200 51ms","method":"PATCH","requestID":"0bebf7c621e1868193d8db2aee48a77d","responseTime":51,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOX0.11Jon-U_Prs1pwl56IEXiaEKN0h8Te2EeioVywm9gbs","level":"info","message":"auth send jwt","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721217,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914109,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEwOX0.11Jon-U_Prs1pwl56IEXiaEKN0h8Te2EeioVywm9gbs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea"} gateway-1 | {"time_local":"29/Apr/2025:08:08:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/websocket 200 13ms","method":"POST","requestID":"3e5ca6d3b38ce36c09052eeabc28c8ea","responseTime":13,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbaccfcbc832d421c2f6cc77de186304","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cbaccfcbc832d421c2f6cc77de186304","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/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":"cbaccfcbc832d421c2f6cc77de186304"} device-1 | {"level":"info","message":"OPTIONS /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/websocket 200 1ms","method":"OPTIONS","requestID":"cbaccfcbc832d421c2f6cc77de186304","responseTime":1,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"d8f27e855107bf99557fae22d2fe83db"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8f27e855107bf99557fae22d2fe83db","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d8f27e855107bf99557fae22d2fe83db"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170387,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d8f27e855107bf99557fae22d2fe83db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d8f27e855107bf99557fae22d2fe83db","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d8f27e855107bf99557fae22d2fe83db"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/websocket 200 23ms","method":"POST","requestID":"d8f27e855107bf99557fae22d2fe83db","responseTime":23,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/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":"d8f27e855107bf99557fae22d2fe83db"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930603,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c7aa62f401a6f73a01c7d9b2b75e6065","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"de5c716a-5d86-4b56-a766-7aa944f98072","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.6162605} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065"} device-1 | {"level":"info","message":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? 200 14ms","method":"GET","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065","responseTime":14,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7aa62f401a6f73a01c7d9b2b75e6065"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"251457fb802a03a4c42f082164472466"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"251457fb802a03a4c42f082164472466","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"251457fb802a03a4c42f082164472466"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681028,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"251457fb802a03a4c42f082164472466","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"251457fb802a03a4c42f082164472466","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.296733397Z"}]},"request_id":"0d84a403-af8b-4c27-87fb-fe3910aaa85a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.6336896} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"251457fb802a03a4c42f082164472466","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"251457fb802a03a4c42f082164472466"} device-1 | {"level":"info","message":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? 200 10ms","method":"GET","requestID":"251457fb802a03a4c42f082164472466","responseTime":10,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"251457fb802a03a4c42f082164472466"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6aa4400610f9ca9d89edf3829b45d19d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.664645,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6aa4400610f9ca9d89edf3829b45d19d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6aa4400610f9ca9d89edf3829b45d19d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to run experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to book experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully booked experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2340cee0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955305,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2340cee0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2340cee0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.560198,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"bfc350ad-acc3-4e10-ad9e-3533ead8f5af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.6774073} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2340cee0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.296733397Z"}]},"request_id":"9bdd1a1d-8994-4895-900a-bb0786766b48","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.6779797} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Setting up experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2340cee0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? 200 23ms","method":"GET","requestID":"2340cee0-24d1-11f0-816e-bfe403da652c","responseTime":23,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? 200 22ms","method":"GET","requestID":"2340f5f0-24d1-11f0-816e-bfe403da652c","responseTime":22,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully set up experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"234f74e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"234f9bf0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully running experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:49714","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.740335,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632121,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"234f74e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"234f74e0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"844e27d4-2ce8-46f1-add0-091f30815415","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.7761142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.296733397Z"}]},"request_id":"41c4aa34-67e4-4204-bfe0-f3b3e5602916","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.7764606} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"234f74e0-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.835856,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"234f9bf0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"234f9bf0-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"92230545-1a09-4e88-b491-83ff64aa3b74","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.801799} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5c91471-efb3-4c4b-bda3-9d4d00f96702#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5c91471-efb3-4c4b-bda3-9d4d00f96702","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e3327c7f-de66-4fa9-a87d-6a0293c48c41","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8068056} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"234f74e0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdcac836-0581-4dbb-afe8-ab3a4bc76382","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8071222} device-1 | {"level":"info","message":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? 200 42ms","method":"GET","requestID":"234f74e0-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"234f9bf0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"6aa4400610f9ca9d89edf3829b45d19d","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling 200 42ms","method":"POST","requestID":"234f9bf0-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? 200 44ms","method":"GET","requestID":"234f4dd0-24d1-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"235679c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2356a0d0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"6aa4400610f9ca9d89edf3829b45d19d","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c9037b5-5a53-42b9-9442-ecef5aca792b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8164887} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379377,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"235679c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"235679c0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5636596d-d2c4-45d0-9012-735d5a721f99","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.81763} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.540897,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2356a0d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2356a0d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"eb690fde6a7486e70470a82fddaf5621"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb690fde6a7486e70470a82fddaf5621","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb690fde6a7486e70470a82fddaf5621"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"235679c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling 200 11ms","method":"POST","requestID":"235679c0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2356a0d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling 200 10ms","method":"POST","requestID":"2356a0d0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778596,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"eb690fde6a7486e70470a82fddaf5621","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"235c1f10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"eb690fde6a7486e70470a82fddaf5621","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.254132629Z"}]},"request_id":"aeae40f2-4191-44cc-9619-da94857c54a7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8527944} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4b87aec-129b-4ecb-a926-12df834019f3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8529894} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb690fde6a7486e70470a82fddaf5621","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.258379,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"235c1f10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","rebac_allow":false,"scope_allow":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":"235c1f10-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb690fde6a7486e70470a82fddaf5621"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb690fde6a7486e70470a82fddaf5621"} device-1 | {"level":"info","message":"GET /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29? 200 36ms","method":"GET","requestID":"eb690fde6a7486e70470a82fddaf5621","responseTime":36,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"235c1f10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling 200 8ms","method":"POST","requestID":"235c1f10-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Building connection plan","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} 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":"1d61535c-5fc4-4ada-acac-ea653722f1e2"},{"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":"8dfb883a-28b7-4d03-bf1c-5fb28224c8f2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"16ebcc26-75a9-47bb-a0d0-44f450add633"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4","level":"info","message":"auth send jwt","requestID":"08039bf81e32617c11d98b1635feb22a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"08039bf81e32617c11d98b1635feb22a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"08039bf81e32617c11d98b1635feb22a"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.684309,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"235dccc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.527687,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"08039bf81e32617c11d98b1635feb22a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914110,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExMH0.jkoI1LHnTtydU5N4bEuydm1WZ9WL5k_JEgPWghsBDe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"08039bf81e32617c11d98b1635feb22a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:28.296733397Z"}]},"request_id":"52b47139-4eb2-4711-9db2-959cee032fba","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8679323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"08039bf81e32617c11d98b1635feb22a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"08039bf81e32617c11d98b1635feb22a"} gateway-1 | {"time_local":"29/Apr/2025:08:08:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08039bf81e32617c11d98b1635feb22a"} device-1 | {"level":"info","message":"GET /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2? 200 9ms","method":"GET","requestID":"08039bf81e32617c11d98b1635feb22a","responseTime":9,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"5d73140a-6ba2-40ab-b28f-428b4bae605b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8722746} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ad96c34-353e-4de0-859a-5bd7089c6bbf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.8970494} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323'","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323'","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"235dccc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6aa4400610f9ca9d89edf3829b45d19d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"236d8430-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f9ba546-6159-4167-aa43-ff66d90ae3b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914110.9679618} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799296,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"236d8430-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","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":"236d8430-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling 200 37ms","method":"POST","requestID":"236d8430-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"236d8430-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"23739eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"content":{"canTrickle":true},"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4653445058569842698 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:U7bw\r\na=ice-pwd:NIpkSiakocQNkDVFi9x2UlFw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 66:03:B5:C2:C5:88:6F:E4:9F:8F:11:96:96:FA:50:55:A5:3A:59:DC:C5:B3:B1:DB:33:6C:3D:1B:00:EB:5C:EA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2'"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:31Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.762595,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:31Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcf6b8bd-2420-4360-9665-84dddfdc8e48","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914111.0111194} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"23739eb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","rebac_allow":false,"scope_allow":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":"23739eb0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"23739eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling 200 40ms","method":"POST","requestID":"23739eb0-24d1-11f0-816e-bfe403da652c","responseTime":40,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling"} device-1 | {"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"349b1c15ad9a07e75390301da325d7c6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"349b1c15ad9a07e75390301da325d7c6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"}}},"level":"info","message":"received a callback","requestID":"349b1c15ad9a07e75390301da325d7c6"} device-1 | {"content":{"candidate":"candidate:3252916781 1 udp 2113937151 5653511c-d17d-46d2-baa3-7ce18d11ee53.local 55922 typ host generation 0 ufrag U7bw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"349b1c15ad9a07e75390301da325d7c6","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"349b1c15ad9a07e75390301da325d7c6"} device-1 | {"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","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/526b867b-e54c-4aea-aba7-f0247f075323' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7cc9ae483033e382885083ef8f0b8c32","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7cc9ae483033e382885083ef8f0b8c32","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"}}},"level":"info","message":"received a callback","requestID":"7cc9ae483033e382885083ef8f0b8c32"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"24aeddd0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F526b867b-e54c-4aea-aba7-f0247f075323","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f8d17e1-4a42-43be-a739-0807ad001712","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.0741696} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.024604,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24aeddd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","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":"24aeddd0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"24aeddd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/526b867b-e54c-4aea-aba7-f0247f075323 200 9ms","method":"GET","requestID":"24aeddd0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"7cc9ae483033e382885083ef8f0b8c32","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"7cc9ae483033e382885083ef8f0b8c32"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24b2ae60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c08700f1-092f-4bd8-9841-5f96f4e77eae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.0987685} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.167618,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24b2ae60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","rebac_allow":false,"scope_allow":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":"24b2ae60-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24b2ae60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling 200 8ms","method":"POST","requestID":"24b2ae60-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24b43500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23adc67d-e410-46b8-9f90-75b57bc8a422","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.1079595} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.460445,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24b43500-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","rebac_allow":false,"scope_allow":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":"24b43500-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24b43500-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling 200 7ms","method":"POST","requestID":"24b43500-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo","level":"info","message":"auth send jwt","requestID":"b70c6df42f8ac05dacf7984600424fd9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b70c6df42f8ac05dacf7984600424fd9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","requestID":"b70c6df42f8ac05dacf7984600424fd9"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.022583,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b70c6df42f8ac05dacf7984600424fd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914113,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b70c6df42f8ac05dacf7984600424fd9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","requestID":"b70c6df42f8ac05dacf7984600424fd9"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b70c6df42f8ac05dacf7984600424fd9"} experiment-1 | {"level":"info","message":"GET /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702 200 10ms","method":"GET","requestID":"b70c6df42f8ac05dacf7984600424fd9","responseTime":10,"status":200,"url":"/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo","level":"info","message":"auth send jwt","requestID":"60740e28b3d23f8553abef04e75df9bc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60740e28b3d23f8553abef04e75df9bc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","requestID":"60740e28b3d23f8553abef04e75df9bc"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.982693,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"60740e28b3d23f8553abef04e75df9bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914113,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"60740e28b3d23f8553abef04e75df9bc","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Attempting to finish experiment","requestID":"60740e28b3d23f8553abef04e75df9bc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"24c39e50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.789448,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24c39e50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914113,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"24c39e50-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323","device":"6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f01a98b8-3027-4fa8-86f5-2d73111aeb29","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b0b9089b9857c7245148386ecf60a8b6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b0b9089b9857c7245148386ecf60a8b6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F526b867b-e54c-4aea-aba7-f0247f075323': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F526b867b-e54c-4aea-aba7-f0247f075323","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"7abebef5-6bce-42d9-a56b-026a6bc989b1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.2216043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62e6efc6-5116-4f3b-a357-e99dd12f30b8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.2219627} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"}}},"level":"info","message":"received a callback","requestID":"b0b9089b9857c7245148386ecf60a8b6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"26974dcf2c2ab6a239c02681885ed9f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"26974dcf2c2ab6a239c02681885ed9f2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"24c39e50-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"}}},"level":"info","message":"received a callback","requestID":"26974dcf2c2ab6a239c02681885ed9f2"} device-1 | {"data":{"peerconnection":"526b867b-e54c-4aea-aba7-f0247f075323","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"24c39e50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/526b867b-e54c-4aea-aba7-f0247f075323 204 60ms","method":"DELETE","requestID":"24c39e50-24d1-11f0-816e-bfe403da652c","responseTime":60,"status":204,"url":"/peerconnections/526b867b-e54c-4aea-aba7-f0247f075323"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"},"level":"info","message":"Successfully finished experiment","requestID":"60740e28b3d23f8553abef04e75df9bc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24d29270-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff01a98b8-3027-4fa8-86f5-2d73111aeb29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87e4e22e-df4d-4766-9bb1-328ec3e57f59","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.3074985} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309356,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24d29270-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29","object_type":"device","rebac_allow":false,"scope_allow":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":"24d29270-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24d29270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling 200 8ms","method":"POST","requestID":"24d29270-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24d41910-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b46bec42-a2e6-4494-bfc4-98973c59108d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.3149424} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5c91471-efb3-4c4b-bda3-9d4d00f96702': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5c91471-efb3-4c4b-bda3-9d4d00f96702","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"1b573d6e-0765-449e-8d8f-0cfe0427bc8b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.3153074} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"60740e28b3d23f8553abef04e75df9bc","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f67d8275-6e60-43b5-8186-ce3109513a19","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.3175938} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448107,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"24d41910-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"24d41910-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24d41910-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling 200 32ms","method":"POST","requestID":"24d41910-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702","requestID":"60740e28b3d23f8553abef04e75df9bc"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60740e28b3d23f8553abef04e75df9bc"} experiment-1 | {"level":"info","message":"DELETE /experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702 204 235ms","method":"DELETE","requestID":"60740e28b3d23f8553abef04e75df9bc","responseTime":235,"status":204,"url":"/experiments/f5c91471-efb3-4c4b-bda3-9d4d00f96702"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.218","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e1791614f92a06982b8d0637d1916c91"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"b0b9089b9857c7245148386ecf60a8b6","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"b0b9089b9857c7245148386ecf60a8b6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f01a98b8-3027-4fa8-86f5-2d73111aeb29' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"26974dcf2c2ab6a239c02681885ed9f2","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"26974dcf2c2ab6a239c02681885ed9f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo","level":"info","message":"auth send jwt","requestID":"d7366fb95ab46a436c4f28f016a7ae32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7366fb95ab46a436c4f28f016a7ae32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d7366fb95ab46a436c4f28f016a7ae32"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.821","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"57488c8f6f0cfbf5ff38b0bf5f798135"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.878804,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d7366fb95ab46a436c4f28f016a7ae32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914113,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6bfd651b-a7cf-4cb7-b7c6-d06d37542be2' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e235d224-f058-410c-a759-e22fc85b90f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4336205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b6dc607-229e-4b61-be23-57f50de18102","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4382372} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"24bca0f5-a212-498b-9ae4-3190817af63c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4509895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d442acaf-6233-4eb3-8ce9-a93802761b4d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4511454} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"427798c8-693e-4afc-bc52-4b595ec3fd20","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.45522} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d7366fb95ab46a436c4f28f016a7ae32"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7366fb95ab46a436c4f28f016a7ae32"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"d7366fb95ab46a436c4f28f016a7ae32","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo","level":"info","message":"auth send jwt","requestID":"fda3a2409b8e83e284e7917232799e51"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fda3a2409b8e83e284e7917232799e51","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fda3a2409b8e83e284e7917232799e51"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.078179,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fda3a2409b8e83e284e7917232799e51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914113,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExM30.SUETezE9tRl5HXJaHSj7V0lxGebTWF-L1mpROwiwfeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2a4473b9-2b60-47d2-839c-09a1c2da69cb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4772487} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f67dc15e-63f3-4c32-8cec-6f7994da7ae0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4816897} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"a9080ed7-1656-4a38-a7f1-f8ccb66d8056","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4907887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a32e9d1-93d7-4385-8e3e-b3381139afc5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4911072} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"769d0e0e-2068-474e-b274-019c09bb4c2f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914113.4950032} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fda3a2409b8e83e284e7917232799e51"} gateway-1 | {"time_local":"29/Apr/2025:08:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fda3a2409b8e83e284e7917232799e51"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"fda3a2409b8e83e284e7917232799e51","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"61e50575315d47ec8666946f45bf9358"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"61e50575315d47ec8666946f45bf9358"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917467,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"61e50575315d47ec8666946f45bf9358","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"618b91b8-9d99-4fd7-ac12-b2bf1f14c6a6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.373577} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673478,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","responseTime":28,"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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"914747ec-c9ad-40f9-a963-212861b36acf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.40392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"a9cd0478-9adc-44ac-8048-b535b530099e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.4072063} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d23f866-7165-4f40-a1c1-075a57ee2401","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.4128838} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"5c493647-8835-49bf-a189-7b7a3cc1a4fb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.4152951} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"61e50575315d47ec8666946f45bf9358"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"61e50575315d47ec8666946f45bf9358"} device-1 | {"level":"info","message":"PATCH /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75 200 54ms","method":"PATCH","requestID":"61e50575315d47ec8666946f45bf9358","responseTime":54,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"bcfa8e8039edce4b389044b60aa6f684"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bcfa8e8039edce4b389044b60aa6f684","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bcfa8e8039edce4b389044b60aa6f684"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64393,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bcfa8e8039edce4b389044b60aa6f684","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcfa8e8039edce4b389044b60aa6f684","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"a1eb5aff-10c0-4876-9740-4bfa40cd9d3e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.4508085} device-1 | {"level":"info","message":"PATCH /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca 200 81ms","method":"PATCH","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","responseTime":81,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb8718ca16a235c43b9ca5b43bfa2bc2","responseTime":2,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"8ce56453f87ea9ac52bff28cad86c14e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ce56453f87ea9ac52bff28cad86c14e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ce56453f87ea9ac52bff28cad86c14e"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707098,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8ce56453f87ea9ac52bff28cad86c14e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ce56453f87ea9ac52bff28cad86c14e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bcfa8e8039edce4b389044b60aa6f684"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/websocket 200 41ms","method":"POST","requestID":"bcfa8e8039edce4b389044b60aa6f684","responseTime":41,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bcfa8e8039edce4b389044b60aa6f684"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ce56453f87ea9ac52bff28cad86c14e"} device-1 | {"level":"info","message":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/websocket 200 14ms","method":"POST","requestID":"8ce56453f87ea9ac52bff28cad86c14e","responseTime":14,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8ce56453f87ea9ac52bff28cad86c14e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"91c2e1e85f373767b5fc8687f0cec13b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91c2e1e85f373767b5fc8687f0cec13b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91c2e1e85f373767b5fc8687f0cec13b"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680626,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"91c2e1e85f373767b5fc8687f0cec13b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91c2e1e85f373767b5fc8687f0cec13b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"0dce52f0-177d-4c46-bb0a-a38e390db6fb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.509456} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91c2e1e85f373767b5fc8687f0cec13b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91c2e1e85f373767b5fc8687f0cec13b"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91c2e1e85f373767b5fc8687f0cec13b"} device-1 | {"level":"info","message":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? 200 9ms","method":"GET","requestID":"91c2e1e85f373767b5fc8687f0cec13b","responseTime":9,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"73d9ad3d83ea2f1709a445b9d7dac257"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73d9ad3d83ea2f1709a445b9d7dac257","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"73d9ad3d83ea2f1709a445b9d7dac257"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891134,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"73d9ad3d83ea2f1709a445b9d7dac257","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"73d9ad3d83ea2f1709a445b9d7dac257","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"0ce5ee43-1331-4fdd-ba6f-00df467e039f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.547784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"73d9ad3d83ea2f1709a445b9d7dac257","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"73d9ad3d83ea2f1709a445b9d7dac257"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73d9ad3d83ea2f1709a445b9d7dac257"} device-1 | {"level":"info","message":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? 200 33ms","method":"GET","requestID":"73d9ad3d83ea2f1709a445b9d7dac257","responseTime":33,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"0e12a21cf22f86926f8925e02e538b79"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e12a21cf22f86926f8925e02e538b79","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0e12a21cf22f86926f8925e02e538b79"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.693649,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0e12a21cf22f86926f8925e02e538b79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0e12a21cf22f86926f8925e02e538b79","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to run experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to book experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully booked experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"259916c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68242,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"259916c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"259916c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"8b4fde45-7e70-4e7c-a40c-a800e74db762","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.6098604} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"ed791ae3-964b-4f00-97be-0812d1d184cd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.6106474} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"259916c0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? 200 11ms","method":"GET","requestID":"2598c8a0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"259916c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? 200 11ms","method":"GET","requestID":"259916c0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Setting up experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully set up experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"25a80ae0-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully running experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711538,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679297,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ace98ec-ea5a-4c91-9675-92822f29ff39","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7075872} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.410036,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25a80ae0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"25a80ae0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"7818652d-7a4d-44b9-a60a-669c30c8bbfd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7096806} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"7bcb124b-f41f-4a92-a566-4f1cb37b76c3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7117045} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25a80ae0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling 200 36ms","method":"POST","requestID":"25a80ae0-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d47200f-6979-4e3b-8eca-e8ae74ae0e17#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d47200f-6979-4e3b-8eca-e8ae74ae0e17","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"d70c7246-facf-4348-9d03-1adf59642918","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7397559} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"228ee428-c39c-4641-b4f7-29d872f86db4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7398882} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? 200 40ms","method":"GET","requestID":"25a7bcc0-24d1-11f0-816e-bfe403da652c","responseTime":40,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"25adfe50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"0e12a21cf22f86926f8925e02e538b79","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? 200 42ms","method":"GET","requestID":"25a7e3d0-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca?"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"220634eb-1f0c-4eeb-834b-87ac251c1fb6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7458403} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.60235,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25adfe50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","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":"25aee8b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"25adfe50-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0e12a21cf22f86926f8925e02e538b79"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"level":"info","message":"POST /experiments? 201 194ms","method":"POST","requestID":"0e12a21cf22f86926f8925e02e538b79","responseTime":194,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1908188-7b77-4d73-a80c-bd0bee2b9a12","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7517824} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.362262,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25adfe50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25aee8b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","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/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling 200 12ms","method":"POST","requestID":"25adfe50-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"9bbe4d94e35f99b373ee42c60245dde7"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"25aee8b0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9bbe4d94e35f99b373ee42c60245dde7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9bbe4d94e35f99b373ee42c60245dde7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25aee8b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling 200 10ms","method":"POST","requestID":"25aee8b0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730679,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9bbe4d94e35f99b373ee42c60245dde7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9bbe4d94e35f99b373ee42c60245dde7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"25b0bd70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.450968902Z"}]},"request_id":"72594380-1522-4cd4-b052-76b3cd86e21a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.762652} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"751fa1b5-cda0-42c6-b019-2fbdf2faa7e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7627604} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9bbe4d94e35f99b373ee42c60245dde7","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.079128,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25b0bd70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","rebac_allow":false,"scope_allow":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":"25b0bd70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9bbe4d94e35f99b373ee42c60245dde7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bbe4d94e35f99b373ee42c60245dde7"} device-1 | {"level":"info","message":"GET /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75? 200 12ms","method":"GET","requestID":"9bbe4d94e35f99b373ee42c60245dde7","responseTime":12,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25b0bd70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling 200 8ms","method":"POST","requestID":"25b0bd70-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Building connection plan","requestID":"0e12a21cf22f86926f8925e02e538b79"} 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":"803ab4df-9977-485f-8280-d23abff31e4e"},{"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":"18f6fab1-69e4-4b4a-b637-bb0b980a729a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"35fbaf9b-1e4b-442c-8a74-743c63da97b9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0e12a21cf22f86926f8925e02e538b79"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0e12a21cf22f86926f8925e02e538b79"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4","level":"info","message":"auth send jwt","requestID":"b01262e1e53340d65af1541a28009080"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b01262e1e53340d65af1541a28009080","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b01262e1e53340d65af1541a28009080"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.834736,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25b26b20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b01262e1e53340d65af1541a28009080","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914114,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNH0.bi6sHsGr1OdrOhw9KznP8dFbxvPlEWXxXecrclO9GW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b01262e1e53340d65af1541a28009080","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:33.490766638Z"}]},"request_id":"3c71cd15-61be-4fcf-a2e1-3a373241277f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7783875} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b01262e1e53340d65af1541a28009080","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b01262e1e53340d65af1541a28009080"} gateway-1 | {"time_local":"29/Apr/2025:08:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b01262e1e53340d65af1541a28009080"} device-1 | {"level":"info","message":"GET /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca? 200 10ms","method":"GET","requestID":"b01262e1e53340d65af1541a28009080","responseTime":10,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3d9f4c0f-f2d2-48fd-81a1-a482e1e9e938","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.7827468} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad86e958-e186-43ac-87fa-6b3204e3801e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.782951} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8'","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8'","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"25b26b20-24d1-11f0-816e-bfe403da652c"} 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":"25b26b20-24d1-11f0-816e-bfe403da652c","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":"25b26b20-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0e12a21cf22f86926f8925e02e538b79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"25bddcd0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"413c4ea0-d3b6-439f-885a-5881903d78f2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.849761} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.060563,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25bddcd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"25bddcd0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25bddcd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling 200 9ms","method":"POST","requestID":"25bddcd0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"25bf6370-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb00b51f-64e6-4b4d-86a8-a64b6a9e7dc8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914114.88332} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207134,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"25bf6370-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"25bf6370-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"25bf6370-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling 200 32ms","method":"POST","requestID":"25bf6370-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling"} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"45995e6a2cad59bd96f46d199ede80f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"45995e6a2cad59bd96f46d199ede80f2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"}}},"level":"info","message":"received a callback","requestID":"45995e6a2cad59bd96f46d199ede80f2"} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"45995e6a2cad59bd96f46d199ede80f2","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"45995e6a2cad59bd96f46d199ede80f2"} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","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/e80a4e5b-823c-4326-8a38-1e681ba7b8d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ed46b9134078838853cf195e89a7264","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ed46b9134078838853cf195e89a7264","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"}}},"level":"info","message":"received a callback","requestID":"4ed46b9134078838853cf195e89a7264"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"26f59980-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe80a4e5b-823c-4326-8a38-1e681ba7b8d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8f3e848-6bd3-49e2-9921-6d35d2e0d691","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914116.892329} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.225142,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"26f59980-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8","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":"26f59980-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"26f59980-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8 200 8ms","method":"GET","requestID":"26f59980-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"4ed46b9134078838853cf195e89a7264","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ed46b9134078838853cf195e89a7264"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"26fa2d60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"698ac65c-5b3e-483b-b74f-efb6398d0c0f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914116.9227583} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108611,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"26fa2d60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"26fa2d60-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"26fa2d60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling 200 8ms","method":"POST","requestID":"26fa2d60-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"26fbb400-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aef416e-22a8-44b0-b990-20a059549d48","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914116.9315486} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.105675,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"26fbb400-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","rebac_allow":false,"scope_allow":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":"26fbb400-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"26fbb400-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling 200 7ms","method":"POST","requestID":"26fbb400-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNn0.fDy5lBVB4-gSTTSoiy_2YWZ5wtbCqTbowHVEb4xJ9cE","level":"info","message":"auth send jwt","requestID":"9aebf36dedc5cbafae7d637258da51e8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9aebf36dedc5cbafae7d637258da51e8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","requestID":"9aebf36dedc5cbafae7d637258da51e8"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.895393,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"9aebf36dedc5cbafae7d637258da51e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914116,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExNn0.fDy5lBVB4-gSTTSoiy_2YWZ5wtbCqTbowHVEb4xJ9cE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9aebf36dedc5cbafae7d637258da51e8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","requestID":"9aebf36dedc5cbafae7d637258da51e8"} experiment-1 | {"level":"info","message":"GET /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17 200 10ms","method":"GET","requestID":"9aebf36dedc5cbafae7d637258da51e8","responseTime":10,"status":200,"url":"/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9aebf36dedc5cbafae7d637258da51e8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c","level":"info","message":"auth send jwt","requestID":"a270eb3111c22798d98d866ccc20185f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a270eb3111c22798d98d866ccc20185f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","requestID":"a270eb3111c22798d98d866ccc20185f"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.773864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a270eb3111c22798d98d866ccc20185f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914117,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a270eb3111c22798d98d866ccc20185f","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Attempting to finish experiment","requestID":"a270eb3111c22798d98d866ccc20185f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"270db560-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.867962,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"270db560-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914117,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"270db560-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"093f9e3c-c864-4d47-a8a8-ce3f277f6a75","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe80a4e5b-823c-4326-8a38-1e681ba7b8d8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe80a4e5b-823c-4326-8a38-1e681ba7b8d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"a43dcece-91f3-456e-a3d9-7d1c5277cf50","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.0632703} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"700fdab4-1a3b-494a-9768-4c2ab5db6c54","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.0634756} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b5340aa046fda94d2594c1da9458480","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b5340aa046fda94d2594c1da9458480","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"270db560-24d1-11f0-816e-bfe403da652c","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":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"}}},"level":"info","message":"received a callback","requestID":"8b5340aa046fda94d2594c1da9458480"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb108f44ee5041d1efbe40f6f84115f1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb108f44ee5041d1efbe40f6f84115f1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"}}},"level":"info","message":"received a callback","requestID":"cb108f44ee5041d1efbe40f6f84115f1"} device-1 | {"data":{"peerconnection":"e80a4e5b-823c-4326-8a38-1e681ba7b8d8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"270db560-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8 204 37ms","method":"DELETE","requestID":"270db560-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":204,"url":"/peerconnections/e80a4e5b-823c-4326-8a38-1e681ba7b8d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"},"level":"info","message":"Successfully finished experiment","requestID":"a270eb3111c22798d98d866ccc20185f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27157d90-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F093f9e3c-c864-4d47-a8a8-ce3f277f6a75","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2a81ec1-d56a-48b2-bc22-1fc3148a2031","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.1012795} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.455328,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27157d90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75","object_type":"device","rebac_allow":false,"scope_allow":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":"27157d90-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27157d90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling 200 9ms","method":"POST","requestID":"27157d90-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27172b40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d47200f-6979-4e3b-8eca-e8ae74ae0e17': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d47200f-6979-4e3b-8eca-e8ae74ae0e17","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"b866f2c3-fc74-43b6-9cb9-f1a2d72c0040","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.1110718} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36a2ece6-e0a2-4338-b180-0fd9b8620025","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.1112473} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"a270eb3111c22798d98d866ccc20185f","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af88d5ba-606f-427d-ad21-2a2a481a0caf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.1133568} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.522163,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27172b40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27172b40-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27172b40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling 200 9ms","method":"POST","requestID":"27172b40-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17","requestID":"a270eb3111c22798d98d866ccc20185f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17 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":"a270eb3111c22798d98d866ccc20185f"} experiment-1 | {"level":"info","message":"DELETE /experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17 204 147ms","method":"DELETE","requestID":"a270eb3111c22798d98d866ccc20185f","responseTime":147,"status":204,"url":"/experiments/8d47200f-6979-4e3b-8eca-e8ae74ae0e17"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.696","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"112c10b2d0ce27b2fb26357515c0976c"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.663","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"66659010e8361fdba66e40b4a94aea3e"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b5340aa046fda94d2594c1da9458480"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"8b5340aa046fda94d2594c1da9458480","responseTime":121,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/093f9e3c-c864-4d47-a8a8-ce3f277f6a75' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c","level":"info","message":"auth send jwt","requestID":"dee2a5f16520da5c2eb4511ca26a28d6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bbcd4708-1ff0-4fe8-81d3-fcaf63ff3eca' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"cb108f44ee5041d1efbe40f6f84115f1","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb108f44ee5041d1efbe40f6f84115f1"} device-1 | {"level":"info","message":"postDevices called","requestID":"dee2a5f16520da5c2eb4511ca26a28d6"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.953591,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"dee2a5f16520da5c2eb4511ca26a28d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914117,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"52a7b4f7-9f0a-4697-b722-a6adacba1b4e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.2056122} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d914d6f-b24a-4227-ba00-46a8e495733f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.2345965} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"961fcb02-c053-415e-bcab-2dcab4050b86","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.2442584} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f900d833-09e5-4892-953f-f9608270d0b4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.2445228} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"588233c7-95c1-4097-a5b7-cf685ffab9b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.2495828} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dee2a5f16520da5c2eb4511ca26a28d6"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dee2a5f16520da5c2eb4511ca26a28d6"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"dee2a5f16520da5c2eb4511ca26a28d6","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c","level":"info","message":"auth send jwt","requestID":"ef653c812ea7346987f9b35425572511"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef653c812ea7346987f9b35425572511","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ef653c812ea7346987f9b35425572511"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.757742,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ef653c812ea7346987f9b35425572511","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914117,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExN30.Rov9vOGXjIG6FS8kT4YlapJfxwFWBRiOot24rW8me-c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c512b20-ca09-425b-9bc5-f7e77a75dd3f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.298344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9aea3f7-a4e3-4483-a959-c17c905ea6f7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.3036716} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"39eabfea-5dc9-4d85-813f-f24c7f5b9c06","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.3371632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"300ab3d3-3cb6-4fa6-bd0b-fe56cb4416c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.3374743} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"46d30baf-24b3-4f14-90be-5d2524324a33","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914117.3418493} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ef653c812ea7346987f9b35425572511"} gateway-1 | {"time_local":"29/Apr/2025:08:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef653c812ea7346987f9b35425572511"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"ef653c812ea7346987f9b35425572511","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"1d73acea11856475f06f62f5e97dfe87"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d73acea11856475f06f62f5e97dfe87","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"8280f2cafbfe92721f1824aca27dd667"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8280f2cafbfe92721f1824aca27dd667","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1d73acea11856475f06f62f5e97dfe87"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8280f2cafbfe92721f1824aca27dd667"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942652,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d73acea11856475f06f62f5e97dfe87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d73acea11856475f06f62f5e97dfe87","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.525656,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8280f2cafbfe92721f1824aca27dd667","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8280f2cafbfe92721f1824aca27dd667","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"ecb9a823-9046-4b2d-88e5-c6af2ffbce1c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.1968386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d73acea11856475f06f62f5e97dfe87","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"e95a92b2-81c9-4296-8d10-de9bc69d2064","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.1977198} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8280f2cafbfe92721f1824aca27dd667","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"533d608b-e7f5-4850-979a-b0c3c5012b5a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.2014112} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1d73acea11856475f06f62f5e97dfe87","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"119771e4-cb85-4484-8e9d-3d491dffdbee","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.202493} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8280f2cafbfe92721f1824aca27dd667","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"17512621-f020-434b-87ff-fffe600374ec","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.2053783} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8280f2cafbfe92721f1824aca27dd667","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8280f2cafbfe92721f1824aca27dd667"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8280f2cafbfe92721f1824aca27dd667"} device-1 | {"level":"info","message":"PATCH /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60 200 42ms","method":"PATCH","requestID":"8280f2cafbfe92721f1824aca27dd667","responseTime":42,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"aee8340cf82f43d2a00bbf0934209cae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aee8340cf82f43d2a00bbf0934209cae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aee8340cf82f43d2a00bbf0934209cae"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880802,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"aee8340cf82f43d2a00bbf0934209cae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aee8340cf82f43d2a00bbf0934209cae","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"8a2d006d-073b-4e4f-b822-e0905aadd086","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.2148616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d73acea11856475f06f62f5e97dfe87","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1d73acea11856475f06f62f5e97dfe87"} device-1 | {"level":"info","message":"PATCH /devices/0bac19e0-012b-4593-8093-7f6020f62c15 200 78ms","method":"PATCH","requestID":"1d73acea11856475f06f62f5e97dfe87","responseTime":78,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0bac19e0-012b-4593-8093-7f6020f62c15 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1d73acea11856475f06f62f5e97dfe87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"c5d545e9fd1a561f6800ac148bc49204"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c5d545e9fd1a561f6800ac148bc49204","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c5d545e9fd1a561f6800ac148bc49204"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731895,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c5d545e9fd1a561f6800ac148bc49204","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5d545e9fd1a561f6800ac148bc49204","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aee8340cf82f43d2a00bbf0934209cae"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"aee8340cf82f43d2a00bbf0934209cae"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/websocket 200 39ms","method":"POST","requestID":"aee8340cf82f43d2a00bbf0934209cae","responseTime":39,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c5d545e9fd1a561f6800ac148bc49204"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c5d545e9fd1a561f6800ac148bc49204"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/websocket 200 12ms","method":"POST","requestID":"c5d545e9fd1a561f6800ac148bc49204","responseTime":12,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"a04539e07597c72fd15d493050e75e04"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"a04539e07597c72fd15d493050e75e04","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a04539e07597c72fd15d493050e75e04"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682025,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a04539e07597c72fd15d493050e75e04","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a04539e07597c72fd15d493050e75e04","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"be317ac8-ad4e-4468-9d75-6c58704fbf90","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.2970417} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a04539e07597c72fd15d493050e75e04","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a04539e07597c72fd15d493050e75e04"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a04539e07597c72fd15d493050e75e04"} device-1 | {"level":"info","message":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? 200 9ms","method":"GET","requestID":"a04539e07597c72fd15d493050e75e04","responseTime":9,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"f237e31560235b16e92a91aa7bff945d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f237e31560235b16e92a91aa7bff945d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f237e31560235b16e92a91aa7bff945d"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645489,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f237e31560235b16e92a91aa7bff945d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f237e31560235b16e92a91aa7bff945d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"bcf641aa-1f7e-463d-9fbf-71ba36f71d45","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.3100612} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f237e31560235b16e92a91aa7bff945d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f237e31560235b16e92a91aa7bff945d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f237e31560235b16e92a91aa7bff945d"} device-1 | {"level":"info","message":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? 200 12ms","method":"GET","requestID":"f237e31560235b16e92a91aa7bff945d","responseTime":12,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"902a1bb9fc692a63e3d62f549b17e8c6","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.651969,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"902a1bb9fc692a63e3d62f549b17e8c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"902a1bb9fc692a63e3d62f549b17e8c6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to run experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to book experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully booked experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27dac960-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27daf070-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.392913,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27dac960-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27dac960-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799132,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27daf070-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27daf070-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"b404ea0b-b3b3-4176-ab64-f28d54e196c1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.3985193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"27dac960-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"6527a80c-a84b-460b-a204-3b0d87c72a0e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.3993568} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"27daf070-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27dac960-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? 200 13ms","method":"GET","requestID":"27dac960-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27daf070-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? 200 12ms","method":"GET","requestID":"27daf070-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Setting up experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully set up experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27e94850-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27e96f60-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully running experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7922,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835016,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27e94850-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27e94850-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.417815,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e126051-d821-4a1e-8c62-0b7b75efaf1e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.4915864} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27e96f60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27e96f60-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"d6458ed3-6ee1-4f27-b0f7-071eb19119c2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.4934328} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"27e94850-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"584a8843-296b-47ae-a6fa-7d3e67a0aadf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.4956722} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27e96f60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling 200 11ms","method":"POST","requestID":"27e96f60-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27eb9240-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889545f7-072b-41c5-a13a-420e960981d4#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889545f7-072b-41c5-a13a-420e960981d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"8a7a9fba-7bc3-490b-b123-7138dd440ee9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5003636} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27e94850-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd2836b2-caac-4b1e-9c62-a7ec8d45a80d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5007305} device-1 | {"level":"info","message":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? 200 17ms","method":"GET","requestID":"27e94850-24d1-11f0-816e-bfe403da652c","responseTime":17,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? 200 20ms","method":"GET","requestID":"27e8fa30-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"902a1bb9fc692a63e3d62f549b17e8c6","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6466512b-a66f-4af6-a8ba-cb12d829f84f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5045242} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491799,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27eb9240-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27eb9240-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27ec2e80-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 195ms","method":"POST","requestID":"902a1bb9fc692a63e3d62f549b17e8c6","responseTime":195,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.219","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27eb9240-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling 200 36ms","method":"POST","requestID":"27eb9240-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3360c4d8-83b9-4534-8161-ba334a8a58e0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5369065} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"892dfd36924345273a6766c5d3c8d670"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.601289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"892dfd36924345273a6766c5d3c8d670","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27ec2e80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"892dfd36924345273a6766c5d3c8d670"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27ec2e80-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662255,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27ec2e80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling 200 9ms","method":"POST","requestID":"27ec2e80-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"892dfd36924345273a6766c5d3c8d670","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"892dfd36924345273a6766c5d3c8d670","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"27f221f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.244234400Z"}]},"request_id":"b67d5dfd-d215-42d8-bac2-0fd5f7ea7952","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5446205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"892dfd36924345273a6766c5d3c8d670","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fb11e59-03c7-4987-97d0-3793c2a53159","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.546923} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391394,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27f221f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","rebac_allow":false,"scope_allow":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":"27f221f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"892dfd36924345273a6766c5d3c8d670"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"892dfd36924345273a6766c5d3c8d670"} device-1 | {"level":"info","message":"GET /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60? 200 13ms","method":"GET","requestID":"892dfd36924345273a6766c5d3c8d670","responseTime":13,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"27f221f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling 200 33ms","method":"POST","requestID":"27f221f0-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Building connection plan","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} 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":"6e4deb43-245d-4b53-8bed-97537e2ed295"},{"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":"b38da8c2-107d-48e4-a2fd-b493cd92107f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"675ce2fd-ce81-4cbc-a5a7-204d30f1c490"}]},"level":"info","message":"Built pairwise service configurations","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY","level":"info","message":"auth send jwt","requestID":"1d862e7830f1582e270c07b72e4e2cc2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1d862e7830f1582e270c07b72e4e2cc2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d862e7830f1582e270c07b72e4e2cc2"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49726","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.908002,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"27f7a030-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.593929,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1d862e7830f1582e270c07b72e4e2cc2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914118,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDExOH0.naeEI1EP2VpIn8Aw0aqsJjntPkvePXdjSX0ZUKCfdDY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d862e7830f1582e270c07b72e4e2cc2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:37.337138187Z"}]},"request_id":"39b13b91-fdb3-4fc4-b6d0-bbca8bae6b39","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5866723} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d862e7830f1582e270c07b72e4e2cc2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d862e7830f1582e270c07b72e4e2cc2"} device-1 | {"level":"info","message":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? 200 9ms","method":"GET","requestID":"1d862e7830f1582e270c07b72e4e2cc2","responseTime":9,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0bac19e0-012b-4593-8093-7f6020f62c15? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d862e7830f1582e270c07b72e4e2cc2"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"d6ee0683-fa7e-40c6-a166-cc808e681905","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5901942} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe850ad4-059b-41a2-9f3e-cf4ddb86e302","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.5903687} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979'","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979'","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"27f7a030-24d1-11f0-816e-bfe403da652c"} 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":"27f7a030-24d1-11f0-816e-bfe403da652c","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":"27f7a030-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"902a1bb9fc692a63e3d62f549b17e8c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"280275a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3839be6a-6ffb-41bb-a7c8-68c3cc3a55f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.676418} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":25.017291,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"280275a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"280275a0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"280275a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling 200 30ms","method":"POST","requestID":"280275a0-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"280757a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc824658-f7ae-4b52-b356-ad75068f3833","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914118.6853788} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.082656,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"280757a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"280757a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"280757a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling 200 7ms","method":"POST","requestID":"280757a0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling"} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dc06dc68c23d56c768add86308250bf7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dc06dc68c23d56c768add86308250bf7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"}}},"level":"info","message":"received a callback","requestID":"dc06dc68c23d56c768add86308250bf7"} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"dc06dc68c23d56c768add86308250bf7","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc06dc68c23d56c768add86308250bf7"} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","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/527fa36f-d6f6-4a51-9796-78f593a03979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5b0825a85d454bfde36bd881b056d44","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5b0825a85d454bfde36bd881b056d44","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"}}},"level":"info","message":"received a callback","requestID":"f5b0825a85d454bfde36bd881b056d44"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"293e29f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527fa36f-d6f6-4a51-9796-78f593a03979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c51b54a1-210a-4f96-8a1f-adf98b87355d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.7238083} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.955822,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"293e29f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979","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":"293e29f0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"293e29f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979 200 9ms","method":"GET","requestID":"293e29f0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"f5b0825a85d454bfde36bd881b056d44","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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":"f5b0825a85d454bfde36bd881b056d44"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"294296c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab752f17-1509-4de6-98df-4ee0b5a8b510","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.7519228} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.399535,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"294296c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","rebac_allow":false,"scope_allow":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":"294296c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"294296c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling 200 8ms","method":"POST","requestID":"294296c0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"29441d60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0db75117-d0f2-4021-92ed-1555d8cdf961","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.763179} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.025851,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"29441d60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","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":"29441d60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling 200 9ms","method":"POST","requestID":"29441d60-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"29441d60-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMH0.Gl1t_tTVG7FwCAm5Zwy_8Js_MuQqWfgSNjfrVqMK9lg","level":"info","message":"auth send jwt","requestID":"4f01a0f1307bfd5190264411d59b2efe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f01a0f1307bfd5190264411d59b2efe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/889545f7-072b-41c5-a13a-420e960981d4","requestID":"4f01a0f1307bfd5190264411d59b2efe"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":21.351156,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4f01a0f1307bfd5190264411d59b2efe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914120,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMH0.Gl1t_tTVG7FwCAm5Zwy_8Js_MuQqWfgSNjfrVqMK9lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"4f01a0f1307bfd5190264411d59b2efe","responseTime":24,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/889545f7-072b-41c5-a13a-420e960981d4","requestID":"4f01a0f1307bfd5190264411d59b2efe"} experiment-1 | {"level":"info","message":"GET /experiments/889545f7-072b-41c5-a13a-420e960981d4 200 30ms","method":"GET","requestID":"4f01a0f1307bfd5190264411d59b2efe","responseTime":30,"status":200,"url":"/experiments/889545f7-072b-41c5-a13a-420e960981d4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/889545f7-072b-41c5-a13a-420e960981d4 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f01a0f1307bfd5190264411d59b2efe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMH0.Gl1t_tTVG7FwCAm5Zwy_8Js_MuQqWfgSNjfrVqMK9lg","level":"info","message":"auth send jwt","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f1c8f361b393f3a2245e94eaf93037fb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/889545f7-072b-41c5-a13a-420e960981d4","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.868608,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f1c8f361b393f3a2245e94eaf93037fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914120,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMH0.Gl1t_tTVG7FwCAm5Zwy_8Js_MuQqWfgSNjfrVqMK9lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1c8f361b393f3a2245e94eaf93037fb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Attempting to finish experiment","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"29527540-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.751002,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"29527540-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914120,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMH0.Gl1t_tTVG7FwCAm5Zwy_8Js_MuQqWfgSNjfrVqMK9lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"29527540-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bac19e0-012b-4593-8093-7f6020f62c15","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527fa36f-d6f6-4a51-9796-78f593a03979","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527fa36f-d6f6-4a51-9796-78f593a03979': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527fa36f-d6f6-4a51-9796-78f593a03979","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"8d19392f-2591-45c8-ac21-59ba64205f34","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.892523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5905f3b5-2b8a-4f9d-a819-89eeea3faccb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.8927257} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"133a80017fe0fdace8cfd0713e2495dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"29527540-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"133a80017fe0fdace8cfd0713e2495dd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2c4f034eff40e47a5c91fc4b901abc3a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2c4f034eff40e47a5c91fc4b901abc3a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"}}},"level":"info","message":"received a callback","requestID":"133a80017fe0fdace8cfd0713e2495dd"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"}}},"level":"info","message":"received a callback","requestID":"2c4f034eff40e47a5c91fc4b901abc3a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"29527540-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979 204 82ms","method":"DELETE","requestID":"29527540-24d1-11f0-816e-bfe403da652c","responseTime":82,"status":204,"url":"/peerconnections/527fa36f-d6f6-4a51-9796-78f593a03979"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/889545f7-072b-41c5-a13a-420e960981d4"},"level":"info","message":"Successfully finished experiment","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2965fd40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a34a9c99-42e0-42c7-b75d-cad0817e3e0e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.9839346} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108255,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2965fd40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60","object_type":"device","rebac_allow":false,"scope_allow":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":"2965fd40-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2965fd40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling 200 8ms","method":"POST","requestID":"2965fd40-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889545f7-072b-41c5-a13a-420e960981d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F889545f7-072b-41c5-a13a-420e960981d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"83c1f459-c9c2-4b3c-9248-6418cc659e16","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.9892614} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f58279f-e886-48ab-a66a-bf054f0ea140","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.9893775} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"296783e0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"f1c8f361b393f3a2245e94eaf93037fb","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bac19e0-012b-4593-8093-7f6020f62c15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50fd599a-079f-4d8c-8bd5-94fa2e24d47f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914120.9939213} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.365288,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"296783e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15","object_type":"device","rebac_allow":false,"scope_allow":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":"296783e0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"296783e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling 200 7ms","method":"POST","requestID":"296783e0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/0bac19e0-012b-4593-8093-7f6020f62c15/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/889545f7-072b-41c5-a13a-420e960981d4","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/889545f7-072b-41c5-a13a-420e960981d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1c8f361b393f3a2245e94eaf93037fb"} experiment-1 | {"level":"info","message":"DELETE /experiments/889545f7-072b-41c5-a13a-420e960981d4 204 239ms","method":"DELETE","requestID":"f1c8f361b393f3a2245e94eaf93037fb","responseTime":239,"status":204,"url":"/experiments/889545f7-072b-41c5-a13a-420e960981d4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.822","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"67969cbb396410817ba5a6f2550e9b35"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.830","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ff29b46e5d6acf626942e3d8403163a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"133a80017fe0fdace8cfd0713e2495dd","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"133a80017fe0fdace8cfd0713e2495dd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"2c4f034eff40e47a5c91fc4b901abc3a","responseTime":189,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0bac19e0-012b-4593-8093-7f6020f62c15' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c4f034eff40e47a5c91fc4b901abc3a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMX0.qIS8W2yW8bUFDG4Yr3ueiN7Lh6NJ8Yg3teHpQTlMgvo","level":"info","message":"auth send jwt","requestID":"0a9b7e5781bfd939a55beed2319ecc50"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a9b7e5781bfd939a55beed2319ecc50","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/2f59dbbe-c23c-48bb-9f37-8b8d29cb4a60' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"0a9b7e5781bfd939a55beed2319ecc50"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.753014,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0a9b7e5781bfd939a55beed2319ecc50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914121,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMX0.qIS8W2yW8bUFDG4Yr3ueiN7Lh6NJ8Yg3teHpQTlMgvo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"476881fa-4420-4a5e-bd88-f505f6275787","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.1292317} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca3b931b-f0dc-47d2-8b9e-913a8791426f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.1342819} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3409b884-9c77-4e8e-9607-1c278bed5efe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.1477525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdc0d45f-32c5-4b5c-b283-280c924cc7b0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.1478631} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.147720726Z"}]},"request_id":"54ef01a0-6327-49e5-b22b-b5de3b8b9aad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.1722975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0a9b7e5781bfd939a55beed2319ecc50"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a9b7e5781bfd939a55beed2319ecc50"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"0a9b7e5781bfd939a55beed2319ecc50","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMX0.qIS8W2yW8bUFDG4Yr3ueiN7Lh6NJ8Yg3teHpQTlMgvo","level":"info","message":"auth send jwt","requestID":"8627ff2e06409a6873968ab26a907c7f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8627ff2e06409a6873968ab26a907c7f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8627ff2e06409a6873968ab26a907c7f"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.89043,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8627ff2e06409a6873968ab26a907c7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914121,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyMX0.qIS8W2yW8bUFDG4Yr3ueiN7Lh6NJ8Yg3teHpQTlMgvo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"333c1577-686b-47f8-8e5a-d9754480a475","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.219833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daab767c-12fb-4f77-88d9-632acefc9bf0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.2245364} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"58b380ce-3916-42ca-bbc6-c7936b5951d8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.2342298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f725638-c4a0-42f0-9aad-f030aa717540","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.2345128} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.234207169Z"}]},"request_id":"af32df71-d56c-49c7-9be4-e7bf9a3f0454","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914121.2393177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8627ff2e06409a6873968ab26a907c7f"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"8627ff2e06409a6873968ab26a907c7f","responseTime":87,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8627ff2e06409a6873968ab26a907c7f"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"799b2d9b565f7ce4db62944a23c00eec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"799b2d9b565f7ce4db62944a23c00eec","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/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":"799b2d9b565f7ce4db62944a23c00eec"} device-1 | {"level":"info","message":"OPTIONS /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/websocket 200 2ms","method":"OPTIONS","requestID":"799b2d9b565f7ce4db62944a23c00eec","responseTime":2,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"32c6f7997a76de464f57a4961aab15dc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"32c6f7997a76de464f57a4961aab15dc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"32c6f7997a76de464f57a4961aab15dc"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318031,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"32c6f7997a76de464f57a4961aab15dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"32c6f7997a76de464f57a4961aab15dc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"32c6f7997a76de464f57a4961aab15dc"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/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":"32c6f7997a76de464f57a4961aab15dc"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/websocket 200 20ms","method":"POST","requestID":"32c6f7997a76de464f57a4961aab15dc","responseTime":20,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8aadc89af6490fb78d8f61ad7a58de0f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8aadc89af6490fb78d8f61ad7a58de0f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f510b798-24d3-4647-a841-a1735b475250/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":"8aadc89af6490fb78d8f61ad7a58de0f"} device-1 | {"level":"info","message":"OPTIONS /devices/f510b798-24d3-4647-a841-a1735b475250/websocket 200 1ms","method":"OPTIONS","requestID":"8aadc89af6490fb78d8f61ad7a58de0f","responseTime":1,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"eeee594234ef4ba2101a59826421cc8f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eeee594234ef4ba2101a59826421cc8f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eeee594234ef4ba2101a59826421cc8f"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239931,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"eeee594234ef4ba2101a59826421cc8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eeee594234ef4ba2101a59826421cc8f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eeee594234ef4ba2101a59826421cc8f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/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":"eeee594234ef4ba2101a59826421cc8f"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/websocket 200 17ms","method":"POST","requestID":"eeee594234ef4ba2101a59826421cc8f","responseTime":17,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"49ae354ac0ffa959383c9a359bd39a23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"49ae354ac0ffa959383c9a359bd39a23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"49ae354ac0ffa959383c9a359bd39a23"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634256,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"49ae354ac0ffa959383c9a359bd39a23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"49ae354ac0ffa959383c9a359bd39a23","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.147720726Z"}]},"request_id":"2be53748-6c64-4b8d-8603-66fa0a98192e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.6574612} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"49ae354ac0ffa959383c9a359bd39a23","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"49ae354ac0ffa959383c9a359bd39a23"} device-1 | {"level":"info","message":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? 200 9ms","method":"GET","requestID":"49ae354ac0ffa959383c9a359bd39a23","responseTime":9,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"108a075598c4de940ea54e484180835d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"108a075598c4de940ea54e484180835d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49ae354ac0ffa959383c9a359bd39a23"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"108a075598c4de940ea54e484180835d"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.610184,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"108a075598c4de940ea54e484180835d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"108a075598c4de940ea54e484180835d","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.234207169Z"}]},"request_id":"a93aab91-4a4e-488a-bbdf-7b25e3c75946","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.6708121} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"108a075598c4de940ea54e484180835d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"108a075598c4de940ea54e484180835d"} device-1 | {"level":"info","message":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? 200 8ms","method":"GET","requestID":"108a075598c4de940ea54e484180835d","responseTime":8,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"108a075598c4de940ea54e484180835d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"4df390304ad5a00f10936bbcb19b1df2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4df390304ad5a00f10936bbcb19b1df2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4df390304ad5a00f10936bbcb19b1df2"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.836267,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4df390304ad5a00f10936bbcb19b1df2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4df390304ad5a00f10936bbcb19b1df2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to run experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to book experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully booked experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b09c230-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b09e940-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621605,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b09c230-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2b09c230-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.805796,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b09e940-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2b09e940-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.147720726Z"}]},"request_id":"39b93b02-1a00-463f-a58f-145eb4f234cd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.7626858} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2b09c230-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.234207169Z"}]},"request_id":"6b46a806-c0f6-4d51-b225-364ef86633d4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.7664173} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2b09e940-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b09c230-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? 200 39ms","method":"GET","requestID":"2b09c230-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b09e940-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? 200 39ms","method":"GET","requestID":"2b09e940-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Setting up experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully set up experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b18b650-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully running experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b192b80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.06851,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b18b650-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"2b18b650-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.891672,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.147720726Z"}]},"request_id":"f21da50f-c971-4c49-8798-ce20b2acdead","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.8663888} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2b18b650-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.234207169Z"}]},"request_id":"1f3c3e8b-019d-4fe8-bfc3-a8283040533b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.8670652} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3d8db0-30f6-4d4a-be05-cc8f849676f5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.868235} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.815758,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b192b80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","rebac_allow":false,"scope_allow":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":"2b192b80-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b18b650-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07c341c7-c27b-43f9-90e6-20e5b12e1431#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07c341c7-c27b-43f9-90e6-20e5b12e1431","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"b19084aa-3fa7-475b-b779-69e4f8d28b99","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.8724551} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0a51133-c741-4337-86a5-ee0783a3ca96","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.87267} device-1 | {"level":"info","message":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? 200 44ms","method":"GET","requestID":"2b18b650-24d1-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"4df390304ad5a00f10936bbcb19b1df2","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? 200 45ms","method":"GET","requestID":"2b18dd60-24d1-11f0-816e-bfe403da652c","responseTime":45,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b192b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling 200 43ms","method":"POST","requestID":"2b192b80-24d1-11f0-816e-bfe403da652c","responseTime":43,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b203060-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b205770-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 203ms","method":"POST","requestID":"4df390304ad5a00f10936bbcb19b1df2","responseTime":203,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4df390304ad5a00f10936bbcb19b1df2"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.508639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"377c07cf-138c-438f-873d-dd9da927407b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.9065466} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b203060-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2b203060-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38ca307a-8c13-4059-bfa6-4c4024a66a2e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.9075413} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.14123,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b205770-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"2b205770-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b203060-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling 200 35ms","method":"POST","requestID":"2b203060-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767981,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b205770-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/signaling 200 35ms","method":"POST","requestID":"2b205770-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b25fcc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.147720726Z"}]},"request_id":"74dc8b7e-aca2-4861-8dd4-f2427e56f9e9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.917936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ad3754c-ecf6-4ea7-8355-3b0fb380c4b7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.9207935} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.998159,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973"} device-1 | {"level":"info","message":"GET /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153? 200 10ms","method":"GET","requestID":"06025fe9ba0ac7cfa9480d0f4ceb6973","responseTime":10,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b25fcc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b25fcc0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b25fcc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/signaling 200 9ms","method":"POST","requestID":"2b25fcc0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs","level":"info","message":"auth send jwt","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Building connection plan","requestID":"4df390304ad5a00f10936bbcb19b1df2"} 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":"443aca28-bf2f-4759-b72a-2b5d01379b1f"},{"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":"9cbbbc38-d1a8-4910-97e5-77177a748dfb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f6f83c48-749c-4bfd-a234-de265a159ddd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4df390304ad5a00f10936bbcb19b1df2"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4df390304ad5a00f10936bbcb19b1df2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.864471,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8741e5e7e45ee64d9cd4b92d6f74e278","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.53051,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914123,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyM30.9Vxjfxqe25taK5h_WXK29OFBlosOt_ejTvzuHYPaAWs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:41.234207169Z"}]},"request_id":"85ba5791-33d1-4eaa-8a08-012286616c6f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.9573836} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278"} gateway-1 | {"time_local":"29/Apr/2025:08:08:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278"} device-1 | {"level":"info","message":"GET /devices/f510b798-24d3-4647-a841-a1735b475250? 200 34ms","method":"GET","requestID":"8741e5e7e45ee64d9cd4b92d6f74e278","responseTime":34,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"1e3dcc35-85a4-4ddf-9e4e-3ad78f841588","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.962231} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"763157d0-3084-4616-9909-1667b43e8bf4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914123.9624293} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b'","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b'","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2b27aa70-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4df390304ad5a00f10936bbcb19b1df2"} device-1 | {"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b367780-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9afdae50-5c73-4a80-829b-a1a12cf13f76","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.0521488} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.394568,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b367780-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","rebac_allow":false,"scope_allow":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":"2b367780-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b367780-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling 200 32ms","method":"POST","requestID":"2b367780-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b3b8090-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a21f8b4b-ee8a-440a-b5e6-1e93b798aad6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.0615253} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.428723,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b3b8090-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b3b8090-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b3b8090-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/signaling 200 9ms","method":"POST","requestID":"2b3b8090-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/signaling"} device-1 | {"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 906409800073282502 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:0P2l\r\na=ice-pwd:BLlxge/3FpCSzcTJFTEcn308\r\na=ice-options:trickle\r\na=fingerprint:sha-256 31:6E:A4:69:31:58:13:CE:9C:9F:7F:57:72:B1:4B:FE:97:69:C9:32:41:D3:FD:9C:FF:2A:0E:31:12:5C:60:6D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1601514402067604224 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:/NGQ\r\na=ice-pwd:DJx6VTSohzn3ApnNhkEF9luA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 41:78:F9:1F:58:DC:E2:22:06:A9:61:32:D8:94:66:26:BF:96:D6:87:9E:4F:89:AE:7A:21:4A:5E:A0:E1:6A:4F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3888470169 1 udp 2113937151 8c054119-3dd8-41da-a917-c7ba851e5833.local 56475 typ host generation 0 ufrag /NGQ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f510b798-24d3-4647-a841-a1735b475250","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/f510b798-24d3-4647-a841-a1735b475250'"} device-1 | {"content":{"candidate":"candidate:132392596 1 udp 2113937151 4e2ac3f3-eb38-4880-89fc-82412b120ebe.local 39657 typ host generation 0 ufrag 0P2l network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f4aa677e61b5a2dd9e1228ad31637b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a5b95c-efda-4de6-8423-3ef6b763c73b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f4aa677e61b5a2dd9e1228ad31637b8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"}}},"level":"info","message":"received a callback","requestID":"6f4aa677e61b5a2dd9e1228ad31637b8"} device-1 | {"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"peerconnection":"a1a5b95c-efda-4de6-8423-3ef6b763c73b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f4aa677e61b5a2dd9e1228ad31637b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"6f4aa677e61b5a2dd9e1228ad31637b8","responseTime":29,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f510b798-24d3-4647-a841-a1735b475250","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"a1a5b95c-efda-4de6-8423-3ef6b763c73b","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f510b798-24d3-4647-a841-a1735b475250","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/a1a5b95c-efda-4de6-8423-3ef6b763c73b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a5b95c-efda-4de6-8423-3ef6b763c73b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7957888a47536749351b3e57cf2608b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f7957888a47536749351b3e57cf2608b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"}}},"level":"info","message":"received a callback","requestID":"f7957888a47536749351b3e57cf2608b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2b50dd50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a5b95c-efda-4de6-8423-3ef6b763c73b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f0fed14-c491-4d55-bb61-271ee645158c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.2015765} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.253254,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b50dd50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","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":"2b50dd50-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2b50dd50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b 200 7ms","method":"GET","requestID":"2b50dd50-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"f7957888a47536749351b3e57cf2608b","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7957888a47536749351b3e57cf2608b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b545fc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b92975e-33ee-4867-ba5c-d063b67c8339","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.244412} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.288232,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b545fc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b545fc0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b545fc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/signaling 200 28ms","method":"POST","requestID":"2b545fc0-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b58cc90-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"858f1387-7a2c-43ea-9e2d-b3ec02b05c52","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.2543344} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.218277,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b58cc90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2b58cc90-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b58cc90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling 200 9ms","method":"POST","requestID":"2b58cc90-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE","level":"info","message":"auth send jwt","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.708286,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a3d681baa6ab4b94b906fb117c6ee3b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914124,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0"} experiment-1 | {"level":"info","message":"GET /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431 200 32ms","method":"GET","requestID":"a3d681baa6ab4b94b906fb117c6ee3b0","responseTime":32,"status":200,"url":"/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE","level":"info","message":"auth send jwt","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c865d6a7f800fd092faad5ee3c5e071","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.728279,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0c865d6a7f800fd092faad5ee3c5e071","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914124,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0c865d6a7f800fd092faad5ee3c5e071","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Attempting to finish experiment","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2b61cd40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.66227,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b61cd40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914124,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2b61cd40-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","device":"3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b","device":"f510b798-24d3-4647-a841-a1735b475250","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/a1a5b95c-efda-4de6-8423-3ef6b763c73b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1a5b95c-efda-4de6-8423-3ef6b763c73b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a5b95c-efda-4de6-8423-3ef6b763c73b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a5b95c-efda-4de6-8423-3ef6b763c73b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"ed180ef8-de13-4aa8-9621-e40252418ae6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.3483276} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df384e7fde630dcc0c26934a6233e03b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"df384e7fde630dcc0c26934a6233e03b","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e719f98d-85d1-4e5d-955a-beed5ca15508","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.348643} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ee10eca5791e7bbb09884d546ebd136","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"2b61cd40-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"}}},"level":"info","message":"received a callback","requestID":"df384e7fde630dcc0c26934a6233e03b"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ee10eca5791e7bbb09884d546ebd136","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"}}},"level":"info","message":"received a callback","requestID":"4ee10eca5791e7bbb09884d546ebd136"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2b61cd40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b 204 77ms","method":"DELETE","requestID":"2b61cd40-24d1-11f0-816e-bfe403da652c","responseTime":77,"status":204,"url":"/peerconnections/a1a5b95c-efda-4de6-8423-3ef6b763c73b"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"},"level":"info","message":"Successfully finished experiment","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b6faff0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff510b798-24d3-4647-a841-a1735b475250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9de93083-dcf0-4657-be04-901c22793e11","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.4027317} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.387911,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b6faff0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f510b798-24d3-4647-a841-a1735b475250","object_type":"device","rebac_allow":false,"scope_allow":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":"2b6faff0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b6faff0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/f510b798-24d3-4647-a841-a1735b475250/signaling 200 7ms","method":"POST","requestID":"2b6faff0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/f510b798-24d3-4647-a841-a1735b475250/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b710f80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07c341c7-c27b-43f9-90e6-20e5b12e1431': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07c341c7-c27b-43f9-90e6-20e5b12e1431","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"88635ed6-8581-4c4a-b14a-2ae665ee0336","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.434796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68251140-72e8-4afa-8f88-81b188f737e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.4350362} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"0c865d6a7f800fd092faad5ee3c5e071","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd2ab24d-b0b1-4480-9ebd-d7c7ce03b21c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.4377646} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.167497,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2b710f80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b710f80-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b710f80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling 200 33ms","method":"POST","requestID":"2b710f80-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c865d6a7f800fd092faad5ee3c5e071"} experiment-1 | {"level":"info","message":"DELETE /experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431 204 232ms","method":"DELETE","requestID":"0c865d6a7f800fd092faad5ee3c5e071","responseTime":232,"status":204,"url":"/experiments/07c341c7-c27b-43f9-90e6-20e5b12e1431"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"df384e7fde630dcc0c26934a6233e03b","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch","requestID":"df384e7fde630dcc0c26934a6233e03b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"4ee10eca5791e7bbb09884d546ebd136","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ee10eca5791e7bbb09884d546ebd136"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE","level":"info","message":"auth send jwt","requestID":"e0770692891d224752de53bbbc463779"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0770692891d224752de53bbbc463779","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0770692891d224752de53bbbc463779"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.935","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d358313472ea62b17bae6a2e6509366"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2538","request_time":"0.904","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"72bdce28596c407c4a1705d9b78f4629"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.89364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e0770692891d224752de53bbbc463779","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914124,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","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/f510b798-24d3-4647-a841-a1735b475250' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3b0e09a7-a4be-42d3-aa05-1d7f4ac59153' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4e0b795-60ae-4fa2-8907-1456908f65b7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.5786233} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5db3d33c-2a19-4da8-a2b7-327689976812","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.5822127} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"4067bcb3-ebdb-4e4a-9324-c8a19a4f3296","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.5920532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d10f70b-a1fc-4d67-9896-4c799d19c028","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.5921652} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.592030846Z"}]},"request_id":"735526f3-4b26-438f-be49-7d8fbf4f36af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.5955162} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0770692891d224752de53bbbc463779"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0770692891d224752de53bbbc463779"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e0770692891d224752de53bbbc463779","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE","level":"info","message":"auth send jwt","requestID":"eaf1284924b144349877034e52ed6d69"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eaf1284924b144349877034e52ed6d69"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":24.880385,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"eaf1284924b144349877034e52ed6d69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914124,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNH0.rO1aBk2dsEdSEIyniE9RKYNvp_JHmb1Fv2c49vFzBZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ffd3fa0-2db1-417d-aa75-1ad67aa26384","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.6404767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d9125d0-7857-4b5e-b980-93ea85100608","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.643893} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"4a6f017f-2c6a-4e43-9280-a3c78c22322b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.6799428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a121e70e-9d8e-452f-a00e-1f8c4b5d772c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.6800716} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.679912598Z"}]},"request_id":"9e2fb84d-cd73-4019-b369-b2e7c7c2f1c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914124.6833262} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eaf1284924b144349877034e52ed6d69"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"eaf1284924b144349877034e52ed6d69","responseTime":82,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eaf1284924b144349877034e52ed6d69"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"641783bc247d71b82ea5176a9d61b565","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"641783bc247d71b82ea5176a9d61b565","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bca909ea-18e8-4255-9779-6f01260099f2/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":"641783bc247d71b82ea5176a9d61b565"} device-1 | {"level":"info","message":"OPTIONS /devices/bca909ea-18e8-4255-9779-6f01260099f2/websocket 200 1ms","method":"OPTIONS","requestID":"641783bc247d71b82ea5176a9d61b565","responseTime":1,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q","level":"info","message":"auth send jwt","requestID":"b06309543f07ace47f9523c35f4ed765"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b06309543f07ace47f9523c35f4ed765","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b06309543f07ace47f9523c35f4ed765"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253968,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b06309543f07ace47f9523c35f4ed765","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914126,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b06309543f07ace47f9523c35f4ed765","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b06309543f07ace47f9523c35f4ed765"} gateway-1 | {"time_local":"29/Apr/2025:08:08:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/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":"b06309543f07ace47f9523c35f4ed765"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/websocket 200 19ms","method":"POST","requestID":"b06309543f07ace47f9523c35f4ed765","responseTime":19,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"607fb0ddf3fac3a0ddc9f9281a691828","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"607fb0ddf3fac3a0ddc9f9281a691828","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/7b1368e8-d918-4187-9500-aa945a27a817/websocket 200 0ms","method":"OPTIONS","requestID":"607fb0ddf3fac3a0ddc9f9281a691828","responseTime":0,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7b1368e8-d918-4187-9500-aa945a27a817/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":"607fb0ddf3fac3a0ddc9f9281a691828"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q","level":"info","message":"auth send jwt","requestID":"70fd535d92d1afe6951f41f844fcc585"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70fd535d92d1afe6951f41f844fcc585","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"70fd535d92d1afe6951f41f844fcc585"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099406,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"70fd535d92d1afe6951f41f844fcc585","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914126,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"70fd535d92d1afe6951f41f844fcc585","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"70fd535d92d1afe6951f41f844fcc585"} device-1 | {"level":"info","message":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/websocket 200 15ms","method":"POST","requestID":"70fd535d92d1afe6951f41f844fcc585","responseTime":15,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"70fd535d92d1afe6951f41f844fcc585"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q","level":"info","message":"auth send jwt","requestID":"8d374573a98586a0881b0e3be1b8392a"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"8d374573a98586a0881b0e3be1b8392a","responseTime":25,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d374573a98586a0881b0e3be1b8392a"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.062439,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8d374573a98586a0881b0e3be1b8392a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914126,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d374573a98586a0881b0e3be1b8392a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.592030846Z"}]},"request_id":"4e30da8d-c06c-49c2-8fc9-257a4db40bcd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914126.9861062} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d374573a98586a0881b0e3be1b8392a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d374573a98586a0881b0e3be1b8392a"} gateway-1 | {"time_local":"29/Apr/2025:08:08:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d374573a98586a0881b0e3be1b8392a"} device-1 | {"level":"info","message":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? 200 13ms","method":"GET","requestID":"8d374573a98586a0881b0e3be1b8392a","responseTime":13,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q","level":"info","message":"auth send jwt","requestID":"6b71591e134d24567c99607cbe36c424"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b71591e134d24567c99607cbe36c424","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b71591e134d24567c99607cbe36c424"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.0888,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6b71591e134d24567c99607cbe36c424","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914126,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyNn0.Exq6zTTz7xMce9rsIFMt3wgKBBC2jp2UwjA-Vd_XC_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6b71591e134d24567c99607cbe36c424","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.679912598Z"}]},"request_id":"71f7361e-7e68-4559-b9a9-aa5e4fe7318f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.0283697} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6b71591e134d24567c99607cbe36c424","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b71591e134d24567c99607cbe36c424"} device-1 | {"level":"info","message":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? 200 34ms","method":"GET","requestID":"6b71591e134d24567c99607cbe36c424","responseTime":34,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b71591e134d24567c99607cbe36c424"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"c96074fd45380f0b8c012eb19b157f26"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c96074fd45380f0b8c012eb19b157f26","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c96074fd45380f0b8c012eb19b157f26"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.748279,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c96074fd45380f0b8c012eb19b157f26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c96074fd45380f0b8c012eb19b157f26","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to run experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to book experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully booked experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654102,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677551,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.592030846Z"}]},"request_id":"18258cbe-9e07-4253-8026-adf055325393","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.0914655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.679912598Z"}]},"request_id":"ed1895be-ff6c-488f-9b83-72d4ffd09524","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.0922017} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? 200 13ms","method":"GET","requestID":"2d093bb0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? 200 12ms","method":"GET","requestID":"2d0962c0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Setting up experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully set up experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d187df0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d18a500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713266,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully running experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61329,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d187df0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d187df0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.656184,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4c2991b-6a71-42e1-b7b4-d76f3eb128d1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.189303} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d18a500-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d18a500-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d18a500-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling 200 33ms","method":"POST","requestID":"2d18a500-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.679912598Z"}]},"request_id":"aa4c536f-c488-4364-9e19-d7de9df0199e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.217248} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2d187df0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.592030846Z"}]},"request_id":"77bce8c0-c955-4ba6-a657-2a86c8d92db3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2180958} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d187df0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? 200 38ms","method":"GET","requestID":"2d187df0-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? 200 40ms","method":"GET","requestID":"2d1856e0-24d1-11f0-816e-bfe403da652c","responseTime":40,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc722996d-be6a-4f67-8f2a-4feea02bec91#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc722996d-be6a-4f67-8f2a-4feea02bec91","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"edbddc12-456b-4d7b-b14f-cfbc9fde2500","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2228622} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d1e7160-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4ff03c1-1283-4c18-a8f1-e03b8dd8dd07","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.22322} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d1ebf80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"c96074fd45380f0b8c012eb19b157f26","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43a95707-7a32-4ff3-ad41-0ba402c330d0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2271092} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.16997,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d1e7160-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d1e7160-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"136bd19c-7fa3-4781-ba3b-58a557f345f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2304518} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c96074fd45380f0b8c012eb19b157f26"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.044135,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"level":"info","message":"POST /experiments? 201 195ms","method":"POST","requestID":"c96074fd45380f0b8c012eb19b157f26","responseTime":195,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d1e7160-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d1ebf80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","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/7b1368e8-d918-4187-9500-aa945a27a817/signaling 200 10ms","method":"POST","requestID":"2d1e7160-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2d1ebf80-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d1ebf80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling 200 10ms","method":"POST","requestID":"2d1ebf80-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d20bb50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756307,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d5cba97476f3c71c9e0737ffa88bfe7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"367080e9-f229-4923-afa2-1901085d02c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2405934} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.533616,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d20bb50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2d20bb50-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.592030846Z"}]},"request_id":"2c60fd2f-ea23-49ac-99bb-53e902bbc626","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.266873} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d20bb50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling 200 33ms","method":"POST","requestID":"2d20bb50-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e"} device-1 | {"level":"info","message":"GET /devices/bca909ea-18e8-4255-9779-6f01260099f2? 200 35ms","method":"GET","requestID":"d5cba97476f3c71c9e0737ffa88bfe7e","responseTime":35,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Building connection plan","requestID":"c96074fd45380f0b8c012eb19b157f26"} 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":"c74997ce-5a6e-42ff-a13c-8d9e2d986931"},{"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":"6ac577b3-2714-4636-aa49-4b03c68bcd11"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e7f00560-20a1-4661-a236-bf9cb8893588"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c96074fd45380f0b8c012eb19b157f26"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c96074fd45380f0b8c012eb19b157f26"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"459417724788012720a1d6ea80cf44e7"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"459417724788012720a1d6ea80cf44e7","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.77905,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"459417724788012720a1d6ea80cf44e7"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d263990-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2d263990-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869616,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"459417724788012720a1d6ea80cf44e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"459417724788012720a1d6ea80cf44e7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9bec6501-0ac9-4756-abb7-08e2e308ccb2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2840488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1170a944-f9a5-4b39-879e-c28788fddab0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.28431} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:44.679912598Z"}]},"request_id":"802b6d20-42b4-48f9-8d2e-32d3b5715eb9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.2848248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"459417724788012720a1d6ea80cf44e7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2d263990-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"459417724788012720a1d6ea80cf44e7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"459417724788012720a1d6ea80cf44e7"} device-1 | {"level":"info","message":"GET /devices/7b1368e8-d918-4187-9500-aa945a27a817? 200 14ms","method":"GET","requestID":"459417724788012720a1d6ea80cf44e7","responseTime":14,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c'","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c'","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2d263990-24d1-11f0-816e-bfe403da652c"} 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":"2d263990-24d1-11f0-816e-bfe403da652c","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":"2d263990-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c96074fd45380f0b8c012eb19b157f26"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d3554c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a04c948c-7571-465e-9882-a3de773864cc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.3759289} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257464,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d3554c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","rebac_allow":false,"scope_allow":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":"2d3554c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d3554c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling 200 8ms","method":"POST","requestID":"2d3554c0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d36db60-24d1-11f0-816e-bfe403da652c"} device-1 | {"device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"886c4d2b-f666-47af-873e-04eacab44122","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.414725} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.488939,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d36db60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"2d36db60-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d36db60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling 200 38ms","method":"POST","requestID":"2d36db60-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8578978215477906823 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:UJNZ\r\na=ice-pwd:RsgHoPpUzqcqeoTEgHEjWvot\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D8:52:97:BA:8C:C5:A9:BB:7F:88:D0:62:C2:46:3D:6D:23:4C:DA:39:20:CB:CF:24:3A:1E:D3:80:02:C2:4E:2E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7151197530297021597 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:dep3\r\na=ice-pwd:B+0JZmeCVZaVtbkEx/3fjTku\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CD:91:F0:B8:39:7A:2B:E8:A3:A0:DE:DE:05:F5:1D:99:27:48:7E:EA:66:D1:03:42:CB:98:D6:69:A1:EA:9B:B9\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:290359157 1 udp 2113937151 61860d9d-6410-4c9e-8bd3-21705c51807f.local 54710 typ host generation 0 ufrag dep3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bca909ea-18e8-4255-9779-6f01260099f2","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/bca909ea-18e8-4255-9779-6f01260099f2'"} device-1 | {"content":{"candidate":"candidate:4064386701 1 udp 2113937151 1a0c15ca-369d-4f9c-be5d-96a3b6b9049e.local 52082 typ host generation 0 ufrag UJNZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7b1368e8-d918-4187-9500-aa945a27a817","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/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06c80d2ae5037e57975079b4da336a8f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"06c80d2ae5037e57975079b4da336a8f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"}}},"level":"info","message":"received a callback","requestID":"06c80d2ae5037e57975079b4da336a8f"} device-1 | {"device":"7b1368e8-d918-4187-9500-aa945a27a817","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bca909ea-18e8-4255-9779-6f01260099f2","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":"06c80d2ae5037e57975079b4da336a8f","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"06c80d2ae5037e57975079b4da336a8f"} device-1 | {"device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","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/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"30af8714e6d0d46754d19d3caac456ae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"30af8714e6d0d46754d19d3caac456ae","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"}}},"level":"info","message":"received a callback","requestID":"30af8714e6d0d46754d19d3caac456ae"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2d4d2280-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9fae389-0ea9-4ed1-80e0-fb4cd016b91c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1f1b56a-0ee2-401f-8bea-6fdc7bca4c04","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.5563903} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.176618,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d4d2280-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","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":"2d4d2280-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2d4d2280-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c 200 31ms","method":"GET","requestID":"2d4d2280-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"30af8714e6d0d46754d19d3caac456ae","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"30af8714e6d0d46754d19d3caac456ae"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d542760-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ce773fa-0165-4028-bc8d-298ae44228db","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.5784874} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.297203,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d542760-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d542760-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d542760-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling 200 32ms","method":"POST","requestID":"2d542760-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d595780-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ab3f0bb-b2e2-4d9e-a450-b21eb3e0305d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.6118581} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.277904,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"f5df8df63a6625c952454c29d439a98e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d595780-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","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 2ms","method":"GET","requestID":"f5df8df63a6625c952454c29d439a98e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d595780-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","requestID":"f5df8df63a6625c952454c29d439a98e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d595780-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling 200 7ms","method":"POST","requestID":"2d595780-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.050844,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f5df8df63a6625c952454c29d439a98e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f5df8df63a6625c952454c29d439a98e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","requestID":"f5df8df63a6625c952454c29d439a98e"} experiment-1 | {"level":"info","message":"GET /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91 200 8ms","method":"GET","requestID":"f5df8df63a6625c952454c29d439a98e","responseTime":8,"status":200,"url":"/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5df8df63a6625c952454c29d439a98e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"062d0ace18185a59a332678dd155ff34"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"062d0ace18185a59a332678dd155ff34","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","requestID":"062d0ace18185a59a332678dd155ff34"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.708141,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"062d0ace18185a59a332678dd155ff34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"062d0ace18185a59a332678dd155ff34","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Attempting to finish experiment","requestID":"062d0ace18185a59a332678dd155ff34"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.761559,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","device":"bca909ea-18e8-4255-9779-6f01260099f2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","device":"7b1368e8-d918-4187-9500-aa945a27a817","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/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c' to 'http://localhost/callbacks/experiment'"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9fae389-0ea9-4ed1-80e0-fb4cd016b91c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9fae389-0ea9-4ed1-80e0-fb4cd016b91c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"81779a81-39af-4006-8a56-3745b33c6a44","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.671755} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9fae389-0ea9-4ed1-80e0-fb4cd016b91c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80ff2934-00a7-4455-88a8-231f75ed4195","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.6993382} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a937a6e522d052c67ad7aecdea532aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 33ms","method":"POST","requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0a937a6e522d052c67ad7aecdea532aa","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f11fbc3f1f9507a24b169ce2cc8a6eb4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f11fbc3f1f9507a24b169ce2cc8a6eb4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"}}},"level":"info","message":"received a callback","requestID":"0a937a6e522d052c67ad7aecdea532aa"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"}}},"level":"info","message":"received a callback","requestID":"f11fbc3f1f9507a24b169ce2cc8a6eb4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c 204 46ms","method":"DELETE","requestID":"2d60f8a0-24d1-11f0-816e-bfe403da652c","responseTime":46,"status":204,"url":"/peerconnections/b9fae389-0ea9-4ed1-80e0-fb4cd016b91c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"},"level":"info","message":"Successfully finished experiment","requestID":"062d0ace18185a59a332678dd155ff34"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d69d240-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca909ea-18e8-4255-9779-6f01260099f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac066d88-a682-4283-a605-6565dfb1a7a0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.72052} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d69d240-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2d69d240-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d69d240-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling 200 32ms","method":"POST","requestID":"2d69d240-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/bca909ea-18e8-4255-9779-6f01260099f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2d6edb50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc722996d-be6a-4f67-8f2a-4feea02bec91': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc722996d-be6a-4f67-8f2a-4feea02bec91","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"6d635c5d-3ba4-4c43-b17c-5d6dd905793d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.7508187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51cde58e-3a29-4b75-8f5c-dd6d7408d22c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.7509892} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"062d0ace18185a59a332678dd155ff34","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1368e8-d918-4187-9500-aa945a27a817","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2aa6980b-641b-421d-bfcf-b92638631e59","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.7530947} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.224522,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2d6edb50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d6edb50-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2d6edb50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling 200 8ms","method":"POST","requestID":"2d6edb50-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/7b1368e8-d918-4187-9500-aa945a27a817/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91","requestID":"062d0ace18185a59a332678dd155ff34"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"062d0ace18185a59a332678dd155ff34"} experiment-1 | {"level":"info","message":"DELETE /experiments/c722996d-be6a-4f67-8f2a-4feea02bec91 204 196ms","method":"DELETE","requestID":"062d0ace18185a59a332678dd155ff34","responseTime":196,"status":204,"url":"/experiments/c722996d-be6a-4f67-8f2a-4feea02bec91"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"0a937a6e522d052c67ad7aecdea532aa","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.177","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a937a6e522d052c67ad7aecdea532aa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"f11fbc3f1f9507a24b169ce2cc8a6eb4","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"f11fbc3f1f9507a24b169ce2cc8a6eb4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"0.911","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b562da8112fc11c044df4ceadd2a8570"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.998","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0e692f5f6249a4f186b9be726dcb9503"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7b1368e8-d918-4187-9500-aa945a27a817' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bca909ea-18e8-4255-9779-6f01260099f2' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9816cc87-253b-433e-af52-bd3f88fc30c3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.9078605} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d1890fc-d274-4818-b11d-ec4d199b67bc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.9115827} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3becfc3b-8da9-4a97-8ec1-f5d2f7312ce7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.9446285} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d32d684a-6c52-4b50-88ed-9ca8abd140cb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.944966} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:47.944607154Z"}]},"request_id":"1072d586-1396-4dd8-b451-9582c2a0b4cf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.9479568} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"20c8fb2f9fdb08b33e7c9d013f326d2d","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0","level":"info","message":"auth send jwt","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683671,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914127,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyN30.YKIGcxG1wu20AW6kOaOzmmsJtk_W7uv90IaA2X9wlf0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15c6620a-6f77-4044-a7ce-968df86d6a71","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.991658} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9255eb5f-af61-49ed-bca3-1437809bad25","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914127.9950092} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"79a362d8-b58a-4617-aa9d-862988e1fa84","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.0045767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70986ca8-18ea-4896-8c8d-e64e2ec606ae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.0048187} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"ac11a835-f207-4dd2-9231-358c7163e54d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.007947} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2","responseTime":79,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e8f3aacbc00bf86f9bca310110f9aa2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyOH0.rzNO2d_mAAZVm0WFf-Mq9JlzUD8zcPlpl4vdTxLwfZ8","level":"info","message":"auth send jwt","requestID":"e6131589a1d7ac0c2dab318f33f60ace"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6131589a1d7ac0c2dab318f33f60ace","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e6131589a1d7ac0c2dab318f33f60ace"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737985,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e6131589a1d7ac0c2dab318f33f60ace","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914128,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyOH0.rzNO2d_mAAZVm0WFf-Mq9JlzUD8zcPlpl4vdTxLwfZ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e6131589a1d7ac0c2dab318f33f60ace","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"af936227-3138-49d0-acf6-4c900a1e30f2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.9139018} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e6131589a1d7ac0c2dab318f33f60ace","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"478f75fb-1b65-4cfb-b552-25cd0e84f270","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.9183316} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e6131589a1d7ac0c2dab318f33f60ace","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"71d5e9f0-b0bc-44aa-9f0a-b55051292eb1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914128.954849} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e6131589a1d7ac0c2dab318f33f60ace","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e6131589a1d7ac0c2dab318f33f60ace"} device-1 | {"level":"info","message":"PATCH /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e 200 51ms","method":"PATCH","requestID":"e6131589a1d7ac0c2dab318f33f60ace","responseTime":51,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"} gateway-1 | {"time_local":"29/Apr/2025:08:08:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e6131589a1d7ac0c2dab318f33f60ace"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyOH0.rzNO2d_mAAZVm0WFf-Mq9JlzUD8zcPlpl4vdTxLwfZ8","level":"info","message":"auth send jwt","requestID":"eb530d517be43354b142a5e31c6eb4dd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb530d517be43354b142a5e31c6eb4dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eb530d517be43354b142a5e31c6eb4dd"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662202,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"eb530d517be43354b142a5e31c6eb4dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914128,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEyOH0.rzNO2d_mAAZVm0WFf-Mq9JlzUD8zcPlpl4vdTxLwfZ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb530d517be43354b142a5e31c6eb4dd","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eb530d517be43354b142a5e31c6eb4dd"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/websocket 200 38ms","method":"POST","requestID":"eb530d517be43354b142a5e31c6eb4dd","responseTime":38,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"eb530d517be43354b142a5e31c6eb4dd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"686b3899c3b2ac8a8d1e866a561bec05","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"686b3899c3b2ac8a8d1e866a561bec05","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/46572420-bcd3-4b62-aee2-516b9528b057/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":"686b3899c3b2ac8a8d1e866a561bec05"} device-1 | {"level":"info","message":"OPTIONS /devices/46572420-bcd3-4b62-aee2-516b9528b057/websocket 200 1ms","method":"OPTIONS","requestID":"686b3899c3b2ac8a8d1e866a561bec05","responseTime":1,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"51994134822f48448eb23021312162a1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"51994134822f48448eb23021312162a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"51994134822f48448eb23021312162a1"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.333919,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"51994134822f48448eb23021312162a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"51994134822f48448eb23021312162a1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"51994134822f48448eb23021312162a1"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/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":"51994134822f48448eb23021312162a1"} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/websocket 200 19ms","method":"POST","requestID":"51994134822f48448eb23021312162a1","responseTime":19,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"23b9d1dba874d75158ad3667eda088ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23b9d1dba874d75158ad3667eda088ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23b9d1dba874d75158ad3667eda088ed"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69843,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"23b9d1dba874d75158ad3667eda088ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"23b9d1dba874d75158ad3667eda088ed","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:47.944607154Z"}]},"request_id":"2044a9b0-8de0-4ff4-b0f1-a2bb4c22e89c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.240295} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23b9d1dba874d75158ad3667eda088ed","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23b9d1dba874d75158ad3667eda088ed"} device-1 | {"level":"info","message":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? 200 11ms","method":"GET","requestID":"23b9d1dba874d75158ad3667eda088ed","responseTime":11,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23b9d1dba874d75158ad3667eda088ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"81aabf98ceb0688a7333fdc983d93a72"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81aabf98ceb0688a7333fdc983d93a72","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"81aabf98ceb0688a7333fdc983d93a72"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666382,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"81aabf98ceb0688a7333fdc983d93a72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"81aabf98ceb0688a7333fdc983d93a72","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"86d5c5e1-1a22-48ce-bca8-b15213a06ee8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.2564547} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"81aabf98ceb0688a7333fdc983d93a72","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"81aabf98ceb0688a7333fdc983d93a72"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81aabf98ceb0688a7333fdc983d93a72"} device-1 | {"level":"info","message":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? 200 11ms","method":"GET","requestID":"81aabf98ceb0688a7333fdc983d93a72","responseTime":11,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ebe4e2e09a49daa67165b0b69395cca","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.689411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1ebe4e2e09a49daa67165b0b69395cca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1ebe4e2e09a49daa67165b0b69395cca","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to run experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to book experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully booked experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586979,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349781,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:47.944607154Z"}]},"request_id":"21e0cf7e-7ef9-4838-86e5-742235b25d66","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.3040934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"24425e87-4ac5-42ef-bdea-e7c178ff397a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.304643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? 200 11ms","method":"GET","requestID":"2ef3a690-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? 200 10ms","method":"GET","requestID":"2ef3cda0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Setting up experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully set up experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f0336f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50388","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724588,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully running experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.555033,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747225,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30722b3a-429c-40c6-98c6-6c2c7650a6ad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.403808} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f0336f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f0336f0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f0336f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"5f0cd1eb-a62f-4ca8-b460-ad8936f2b2eb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.407659} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling 200 9ms","method":"POST","requestID":"2f0336f0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:47.944607154Z"}]},"request_id":"2ebd6fcb-322c-4889-8994-25ab2473f913","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4084613} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f08b530-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36ad6a31-1b82-46ba-84ff-9feed3133ac7#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36ad6a31-1b82-46ba-84ff-9feed3133ac7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"4ca1406d-48e2-4a04-bc38-0039b8562cad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4365118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e0c0018-5118-4579-928e-788f792a46fe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4366798} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? 200 41ms","method":"GET","requestID":"2f030fe0-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"1ebe4e2e09a49daa67165b0b69395cca","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} device-1 | {"level":"info","message":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? 200 43ms","method":"GET","requestID":"2f02e8d0-24d1-11f0-816e-bfe403da652c","responseTime":43,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19ccd04a-dffc-4e63-9320-182b551f6822","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4411638} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.665229,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f08b530-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f08b530-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f0a14c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f08b530-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling 200 12ms","method":"POST","requestID":"2f08b530-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"1ebe4e2e09a49daa67165b0b69395cca","responseTime":184,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a317072-2449-4214-8686-ba5353923f3c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.449056} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.771287,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f0a14c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","rebac_allow":false,"scope_allow":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":"2f0a14c0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"7ce6fb017149bb33b2de9f139080e721"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ce6fb017149bb33b2de9f139080e721","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f0a14c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling 200 9ms","method":"POST","requestID":"2f0a14c0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ce6fb017149bb33b2de9f139080e721"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f0bc270-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749767,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7ce6fb017149bb33b2de9f139080e721","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7ce6fb017149bb33b2de9f139080e721","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2621932-934b-48c9-ace9-2dc1fe030ccc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.484474} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:47.944607154Z"}]},"request_id":"79f79aed-8f3f-4548-978f-7ca99b90a41a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4845755} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7ce6fb017149bb33b2de9f139080e721","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253482,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f0bc270-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f0bc270-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ce6fb017149bb33b2de9f139080e721"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ce6fb017149bb33b2de9f139080e721"} device-1 | {"level":"info","message":"GET /devices/46572420-bcd3-4b62-aee2-516b9528b057? 200 35ms","method":"GET","requestID":"7ce6fb017149bb33b2de9f139080e721","responseTime":35,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f0bc270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling 200 34ms","method":"POST","requestID":"2f0bc270-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Building connection plan","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} 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":"a670b5c6-d2a0-4d96-87b7-d120ee46e99a"},{"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":"4803c623-edb6-49a7-9618-5bd50c56663a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3f8bd76d-9883-45e4-ba23-8ff5db146811"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY","level":"info","message":"auth send jwt","requestID":"908cbf1369dfdab3c233f96a116a0e28"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"908cbf1369dfdab3c233f96a116a0e28","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"908cbf1369dfdab3c233f96a116a0e28"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36244","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.6258,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.531769,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"908cbf1369dfdab3c233f96a116a0e28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914130,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMH0.VVA98GD5ALJbH6KiF-xprlRwYk0pmu1WmPEep6GwPAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"908cbf1369dfdab3c233f96a116a0e28","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:48.004556069Z"}]},"request_id":"f8718791-c01e-4224-b7c7-5a4e96bccf6b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.4987082} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"908cbf1369dfdab3c233f96a116a0e28","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"908cbf1369dfdab3c233f96a116a0e28"} device-1 | {"level":"info","message":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? 200 9ms","method":"GET","requestID":"908cbf1369dfdab3c233f96a116a0e28","responseTime":9,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"908cbf1369dfdab3c233f96a116a0e28"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"aa4a273f-39e2-430d-8a47-463fdbf7408a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.502089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"631a79b6-5dfb-4d16-ab8e-074c2f60cea6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.5023308} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c'","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c'","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2f1140b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1ebe4e2e09a49daa67165b0b69395cca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f200dc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4e6fef5-24c6-4414-8bc6-56c9382de888","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.5928562} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.367314,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f200dc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f200dc0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f200dc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling 200 9ms","method":"POST","requestID":"2f200dc0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling"} device-1 | {"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2f21e280-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6c1500f-4c39-486c-88a3-a07cfb8c4709","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914130.6278331} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.008052,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2f21e280-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","rebac_allow":false,"scope_allow":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":"2f21e280-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2f21e280-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling 200 31ms","method":"POST","requestID":"2f21e280-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling"} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8567546040958946623 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:IwAk\r\na=ice-pwd:DzyVRl/zNSuKmaFqVqcQUQws\r\na=ice-options:trickle\r\na=fingerprint:sha-256 26:75:7D:C7:83:48:63:47:12:D9:90:CF:3F:40:4F:5F:F4:7A:34:B7:CD:30:F8:D7:02:F1:4E:F1:32:15:E3:3A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:292294044 1 udp 2113937151 5970d4f7-844c-4420-8b48-24564c3c0e04.local 47030 typ host generation 0 ufrag IwAk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"46572420-bcd3-4b62-aee2-516b9528b057","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/a749b55f-47b7-4d38-be24-7354d79e000c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dd4d15258fbcd2abcc3d4d94232faac8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"dd4d15258fbcd2abcc3d4d94232faac8","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"}}},"level":"info","message":"received a callback","requestID":"dd4d15258fbcd2abcc3d4d94232faac8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"dd4d15258fbcd2abcc3d4d94232faac8","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd4d15258fbcd2abcc3d4d94232faac8"} device-1 | {"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"46572420-bcd3-4b62-aee2-516b9528b057","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/a749b55f-47b7-4d38-be24-7354d79e000c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"531cee58c1455d7ddf7076ec80b99a30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"531cee58c1455d7ddf7076ec80b99a30","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"}}},"level":"info","message":"received a callback","requestID":"531cee58c1455d7ddf7076ec80b99a30"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"305ad7b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa749b55f-47b7-4d38-be24-7354d79e000c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45f23b55-019b-44b8-9341-c46d38e5d297","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.6572528} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.433706,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"305ad7b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","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":"305ad7b0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"305ad7b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c 200 11ms","method":"GET","requestID":"305ad7b0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"531cee58c1455d7ddf7076ec80b99a30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"531cee58c1455d7ddf7076ec80b99a30","responseTime":29,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"305ecf50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28f2caa1-1f3d-4f84-b695-f54a19e521f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.6811013} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.081695,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"305ecf50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","rebac_allow":false,"scope_allow":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":"305ecf50-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"305ecf50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling 200 7ms","method":"POST","requestID":"305ecf50-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"306055f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e36d02fe-3eec-40ed-b40b-c6a85368a256","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.6907477} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.156666,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"306055f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","rebac_allow":false,"scope_allow":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":"306055f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"306055f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling 200 8ms","method":"POST","requestID":"306055f0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMn0.nwXs0Bh4xJlLkmgPxMoADHGFnd5xz-68VTtFR0Mj-u0","level":"info","message":"auth send jwt","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658693,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914132,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMn0.nwXs0Bh4xJlLkmgPxMoADHGFnd5xz-68VTtFR0Mj-u0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605"} gateway-1 | {"time_local":"29/Apr/2025:08:08:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605"} experiment-1 | {"level":"info","message":"GET /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7 200 10ms","method":"GET","requestID":"ca6fd2b881d9ec664e6dbc7f5efc3605","responseTime":10,"status":200,"url":"/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMn0.nwXs0Bh4xJlLkmgPxMoADHGFnd5xz-68VTtFR0Mj-u0","level":"info","message":"auth send jwt","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.66153,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914132,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMn0.nwXs0Bh4xJlLkmgPxMoADHGFnd5xz-68VTtFR0Mj-u0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Attempting to finish experiment","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.69299,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914132,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzMn0.nwXs0Bh4xJlLkmgPxMoADHGFnd5xz-68VTtFR0Mj-u0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c","device":"46572420-bcd3-4b62-aee2-516b9528b057","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a749b55f-47b7-4d38-be24-7354d79e000c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"}}},"level":"info","message":"received a callback","requestID":"f2c53802904b729564f3be7873d265e4"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f2c53802904b729564f3be7873d265e4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa749b55f-47b7-4d38-be24-7354d79e000c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa749b55f-47b7-4d38-be24-7354d79e000c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"8a0170b2-59f0-488a-9f9f-fecde6b1d610","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.8087344} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f2c53802904b729564f3be7873d265e4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d404c92-5398-4b61-9729-fe97aa745ffe","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.8330536} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54b0e0d6abfaa7190bfaf1fcd5af92da","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54b0e0d6abfaa7190bfaf1fcd5af92da","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"}}},"level":"info","message":"received a callback","requestID":"54b0e0d6abfaa7190bfaf1fcd5af92da"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c 204 53ms","method":"DELETE","requestID":"3070f7c0-24d1-11f0-816e-bfe403da652c","responseTime":53,"status":204,"url":"/peerconnections/a749b55f-47b7-4d38-be24-7354d79e000c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"},"level":"info","message":"Successfully finished experiment","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"307f2890-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46572420-bcd3-4b62-aee2-516b9528b057","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"193bd997-5634-4b6a-89e7-2ef82fce710d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.8927183} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.347092,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"307f2890-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46572420-bcd3-4b62-aee2-516b9528b057","object_type":"device","rebac_allow":false,"scope_allow":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":"307f2890-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"307f2890-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling 200 7ms","method":"POST","requestID":"307f2890-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/46572420-bcd3-4b62-aee2-516b9528b057/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30808820-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36ad6a31-1b82-46ba-84ff-9feed3133ac7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36ad6a31-1b82-46ba-84ff-9feed3133ac7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"86cf3c3a-14d3-44a5-8217-09d7352e39af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.9009974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aff54f80-a9cf-4a57-827b-95c4b897622f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.9010715} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3d6a635-f66e-4fe2-a95d-12ae4f31b28e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"284832bf-285a-4713-bbbf-5053f1e480a8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914132.904099} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.542183,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"30808820-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"30808820-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30808820-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling 200 34ms","method":"POST","requestID":"30808820-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} gateway-1 | {"time_local":"29/Apr/2025:08:08:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213"} experiment-1 | {"level":"info","message":"DELETE /experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7 204 238ms","method":"DELETE","requestID":"bb5446cbda9bcc7f5cd6a1e48a9e4213","responseTime":238,"status":204,"url":"/experiments/36ad6a31-1b82-46ba-84ff-9feed3133ac7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"4.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1f379305e47491f0415d954d98b1638f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"f2c53802904b729564f3be7873d265e4","responseTime":192,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e3d6a635-f66e-4fe2-a95d-12ae4f31b28e' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"f2c53802904b729564f3be7873d265e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"54b0e0d6abfaa7190bfaf1fcd5af92da","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"54b0e0d6abfaa7190bfaf1fcd5af92da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzM30.XZhgChEW1BDHWAHuTpranaCR9Gw83UwIoTg2k4m1Ca8","level":"info","message":"auth send jwt","requestID":"f87ca665ebe57888541719b37237fed4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f87ca665ebe57888541719b37237fed4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f87ca665ebe57888541719b37237fed4"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98714,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:53Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.814","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a8358c8d7974ebb8a5676a89e4739ac0"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"f87ca665ebe57888541719b37237fed4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914133,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzM30.XZhgChEW1BDHWAHuTpranaCR9Gw83UwIoTg2k4m1Ca8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","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/46572420-bcd3-4b62-aee2-516b9528b057' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31ff9554-d31e-427d-aecd-6a436b9157bd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.0485365} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e8f9ab9-9882-4fb0-9965-1e163a1ba35c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.0766685} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"1231ca08-c57d-47d7-8b10-cead379c6f82","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.0850754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"446cd744-11be-4525-b37a-21164a658142","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.0853515} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.085039909Z"}]},"request_id":"5f591244-30e5-4e91-9154-0d474deb016f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.0890727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f87ca665ebe57888541719b37237fed4"} gateway-1 | {"time_local":"29/Apr/2025:08:08:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f87ca665ebe57888541719b37237fed4"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"f87ca665ebe57888541719b37237fed4","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzM30.XZhgChEW1BDHWAHuTpranaCR9Gw83UwIoTg2k4m1Ca8","level":"info","message":"auth send jwt","requestID":"cbc119e1fab5a7b1335a829af17aabfb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cbc119e1fab5a7b1335a829af17aabfb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cbc119e1fab5a7b1335a829af17aabfb"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.953667,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cbc119e1fab5a7b1335a829af17aabfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914133,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzM30.XZhgChEW1BDHWAHuTpranaCR9Gw83UwIoTg2k4m1Ca8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"228f315c-3885-4e0a-8bc2-23b5742aad8c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.1358085} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ee88597-f10f-4a0a-9536-c59bfc0778a0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.140251} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e7f03df3-8332-49e2-9b2c-7b0ed2ae72af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.1743896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f0265c1-b47e-4497-bc44-a6f7c30ed5e8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.174695} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"d83b9414-194e-485b-8258-665355038f34","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914133.1795938} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cbc119e1fab5a7b1335a829af17aabfb"} gateway-1 | {"time_local":"29/Apr/2025:08:08:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbc119e1fab5a7b1335a829af17aabfb"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"cbc119e1fab5a7b1335a829af17aabfb","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNH0.ezruGfjGY45xesr893i5CVy1SSytl_CzUr2U6qKL6Ro","level":"info","message":"auth send jwt","requestID":"92b5b682666f578b5032db82bd65cd3b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92b5b682666f578b5032db82bd65cd3b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"92b5b682666f578b5032db82bd65cd3b"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734723,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"92b5b682666f578b5032db82bd65cd3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914134,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNH0.ezruGfjGY45xesr893i5CVy1SSytl_CzUr2U6qKL6Ro"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92b5b682666f578b5032db82bd65cd3b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"af7b6e07-77bd-4475-ad65-f24666d6624f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914134.0499609} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"92b5b682666f578b5032db82bd65cd3b","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4da277b2-edcf-4dbf-8ecc-9562dade23f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914134.053618} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"92b5b682666f578b5032db82bd65cd3b","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"afb7f99d-4e17-4a69-a2ad-ce33abe357b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914134.087862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"92b5b682666f578b5032db82bd65cd3b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"92b5b682666f578b5032db82bd65cd3b"} device-1 | {"level":"info","message":"PATCH /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f 200 47ms","method":"PATCH","requestID":"92b5b682666f578b5032db82bd65cd3b","responseTime":47,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"} gateway-1 | {"time_local":"29/Apr/2025:08:08:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"92b5b682666f578b5032db82bd65cd3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNH0.ezruGfjGY45xesr893i5CVy1SSytl_CzUr2U6qKL6Ro","level":"info","message":"auth send jwt","requestID":"246eba5be1b56eabd0bfb9b432e619ef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"246eba5be1b56eabd0bfb9b432e619ef","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"246eba5be1b56eabd0bfb9b432e619ef"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653254,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"246eba5be1b56eabd0bfb9b432e619ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914134,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNH0.ezruGfjGY45xesr893i5CVy1SSytl_CzUr2U6qKL6Ro"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"246eba5be1b56eabd0bfb9b432e619ef","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"246eba5be1b56eabd0bfb9b432e619ef"} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/websocket 200 13ms","method":"POST","requestID":"246eba5be1b56eabd0bfb9b432e619ef","responseTime":13,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"246eba5be1b56eabd0bfb9b432e619ef"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3c128bc70f958e756acbd1e6332d9cbb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3c128bc70f958e756acbd1e6332d9cbb","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/96a05b3d-81fa-409d-8248-e8c056bba563/websocket 200 1ms","method":"OPTIONS","requestID":"3c128bc70f958e756acbd1e6332d9cbb","responseTime":1,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96a05b3d-81fa-409d-8248-e8c056bba563/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":"3c128bc70f958e756acbd1e6332d9cbb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"51677a18067cbb650e28a0cc00ec892b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"51677a18067cbb650e28a0cc00ec892b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"51677a18067cbb650e28a0cc00ec892b"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23556,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"51677a18067cbb650e28a0cc00ec892b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"51677a18067cbb650e28a0cc00ec892b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"51677a18067cbb650e28a0cc00ec892b"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/websocket 200 19ms","method":"POST","requestID":"51677a18067cbb650e28a0cc00ec892b","responseTime":19,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/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":"51677a18067cbb650e28a0cc00ec892b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913582,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.085039909Z"}]},"request_id":"d38d28dd-c8c7-4718-a769-4b02235d1162","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.478869} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1"} device-1 | {"level":"info","message":"GET /devices/96a05b3d-81fa-409d-8248-e8c056bba563? 200 12ms","method":"GET","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1","responseTime":12,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96a05b3d-81fa-409d-8248-e8c056bba563? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d31c5daaa0a96c9cb6128f9aa4e8dff1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"60cab6ec37872901c252ad31e2d410c0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60cab6ec37872901c252ad31e2d410c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60cab6ec37872901c252ad31e2d410c0"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64494,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"60cab6ec37872901c252ad31e2d410c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"60cab6ec37872901c252ad31e2d410c0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"5a7eba01-0320-4c9a-93b8-3c22bee4a1af","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.4959} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"60cab6ec37872901c252ad31e2d410c0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60cab6ec37872901c252ad31e2d410c0"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60cab6ec37872901c252ad31e2d410c0"} device-1 | {"level":"info","message":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? 200 10ms","method":"GET","requestID":"60cab6ec37872901c252ad31e2d410c0","responseTime":10,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"4b675ebc97931d9d49cdef249df26720"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4b675ebc97931d9d49cdef249df26720","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4b675ebc97931d9d49cdef249df26720"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.699669,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4b675ebc97931d9d49cdef249df26720","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4b675ebc97931d9d49cdef249df26720","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to run experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to book experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully booked experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32130f00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32133610-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592566,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"32130f00-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"32130f00-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56950","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56950","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721785,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"32133610-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"32133610-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.085039909Z"}]},"request_id":"628fc022-96be-475c-ac02-3459b21e6eb7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.5432777} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32130f00-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/96a05b3d-81fa-409d-8248-e8c056bba563? 200 10ms","method":"GET","requestID":"32130f00-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32133610-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"32130f00-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Setting up experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? 200 24ms","method":"GET","requestID":"32133610-24d1-11f0-816e-bfe403da652c","responseTime":24,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"a710ca6f-a971-4539-9b20-4131930fe06e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.5558925} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"32133610-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully set up experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"322166e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32218df0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3221b500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56950","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56950","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976764,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully running experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"322166e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"322166e0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621479,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"32218df0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"32218df0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"455541d5-63f1-4349-9d68-7c7550e5e6d1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6391437} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"32218df0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.085039909Z"}]},"request_id":"edeea844-5683-4be2-90ff-655a60169497","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6399205} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"322166e0-24d1-11f0-816e-bfe403da652c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6ba16b3-48d7-4bce-8f65-05e9c9d63e19","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6661515} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.062643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32218df0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? 200 37ms","method":"GET","requestID":"32218df0-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"322166e0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3221b500-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","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/96a05b3d-81fa-409d-8248-e8c056bba563? 200 38ms","method":"GET","requestID":"322166e0-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563?"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"3221b500-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F427b76f0-5c0b-4a5e-bcf0-7b69362c02be#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F427b76f0-5c0b-4a5e-bcf0-7b69362c02be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"56ad0b63-1e8e-4f54-baf2-4b26b8f21f4d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6675754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f374a69-2a39-4119-b30c-3f02a5d55a25","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6678927} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3221b500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"4b675ebc97931d9d49cdef249df26720","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling 200 38ms","method":"POST","requestID":"3221b500-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3227a870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2581f3f5-cada-4e74-85af-95ffb1629804","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.675527} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"322844b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.611032,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3227a870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3227a870-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4b675ebc97931d9d49cdef249df26720"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 175ms","method":"POST","requestID":"4b675ebc97931d9d49cdef249df26720","responseTime":175,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3227a870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling 200 9ms","method":"POST","requestID":"3227a870-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4963552-26ba-4b03-aec9-51a022c965fa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6822047} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.989717,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32295620-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"fdfbb42b290cc360af4b8ce21a0b7815"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fdfbb42b290cc360af4b8ce21a0b7815","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"322844b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","rebac_allow":false,"scope_allow":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":"322844b0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fdfbb42b290cc360af4b8ce21a0b7815"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50374","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72933,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"322844b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling 200 12ms","method":"POST","requestID":"322844b0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fdfbb42b290cc360af4b8ce21a0b7815","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fdfbb42b290cc360af4b8ce21a0b7815","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17dca1a2-b1ae-4115-b727-1540b0da2b09","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.6872566} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887994,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"32295620-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"32295620-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32295620-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.085039909Z"}]},"request_id":"afd4253d-0e95-4545-bdae-86edd0702010","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.7150595} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling 200 33ms","method":"POST","requestID":"32295620-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fdfbb42b290cc360af4b8ce21a0b7815","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Building connection plan","requestID":"4b675ebc97931d9d49cdef249df26720"} 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":"9a6727b6-71db-4297-8222-51ad36232527"},{"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":"d0471ae3-6f6b-4a89-a6cd-18c07ac03842"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"56a07418-c860-4abd-8ce1-9f5ff7da2919"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4b675ebc97931d9d49cdef249df26720"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fdfbb42b290cc360af4b8ce21a0b7815"} device-1 | {"level":"info","message":"GET /devices/96a05b3d-81fa-409d-8248-e8c056bba563? 200 35ms","method":"GET","requestID":"fdfbb42b290cc360af4b8ce21a0b7815","responseTime":35,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96a05b3d-81fa-409d-8248-e8c056bba563? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdfbb42b290cc360af4b8ce21a0b7815"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.636908,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"322ead50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"322ead50-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I","level":"info","message":"auth send jwt","requestID":"b1254a14aba5a57c2733d8598f13c189"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1254a14aba5a57c2733d8598f13c189","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1254a14aba5a57c2733d8598f13c189"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658732,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b1254a14aba5a57c2733d8598f13c189","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914135,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzNX0.pjvuk-N2ShxWO3VbpRcOWa7Ay8OKXYRWaff_qwC2Z0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1254a14aba5a57c2733d8598f13c189","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9b729928-2905-42ab-9f6d-b658c4903999","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.7290018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff24f755-4205-47b6-9ec8-cbdd8949a99f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.729221} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:53.174365908Z"}]},"request_id":"38b4d96d-8fe0-4b49-ab7a-0c5c6719bd9c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.7297306} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"322ead50-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b1254a14aba5a57c2733d8598f13c189","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1254a14aba5a57c2733d8598f13c189"} device-1 | {"level":"info","message":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? 200 11ms","method":"GET","requestID":"b1254a14aba5a57c2733d8598f13c189","responseTime":11,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1254a14aba5a57c2733d8598f13c189"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c'","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c'","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"322ead50-24d1-11f0-816e-bfe403da652c","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"322ead50-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4b675ebc97931d9d49cdef249df26720"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"323e3db0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1af7f623-8aef-462b-bec2-48cbb1ea9818","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.823431} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.315209,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"323e3db0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"323e3db0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"323e3db0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling 200 8ms","method":"POST","requestID":"323e3db0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"323fc450-24d1-11f0-816e-bfe403da652c"} device-1 | {"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e5ccffa-16b6-4983-af64-4cdc25f72d29","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914135.857583} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.840087,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"323fc450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"323fc450-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"323fc450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling 200 32ms","method":"POST","requestID":"323fc450-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 760116346333120843 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:OiiD\r\na=ice-pwd:mmVdB0RWWnvTKGbIeORgkWo5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 63:06:E5:A5:98:17:79:ED:4C:26:F4:85:B7:3A:7F:59:56:A7:FB:CD:58:A2:CF:DB:4B:C5:D6:5D:2E:76:DC:C1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9807fb7d78a9e6829d1f0c394c443a14","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9807fb7d78a9e6829d1f0c394c443a14","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"}}},"level":"info","message":"received a callback","requestID":"9807fb7d78a9e6829d1f0c394c443a14"} device-1 | {"content":{"candidate":"candidate:1672070714 1 udp 2113937151 fc16164b-0adb-4126-b73c-6fad90098aa6.local 34158 typ host generation 0 ufrag OiiD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9807fb7d78a9e6829d1f0c394c443a14","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"29/Apr/2025:08:08:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"9807fb7d78a9e6829d1f0c394c443a14"} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","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/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"63de33ab25a4d2343c4bbf2dec85ebfc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"63de33ab25a4d2343c4bbf2dec85ebfc","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"}}},"level":"info","message":"received a callback","requestID":"63de33ab25a4d2343c4bbf2dec85ebfc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3371b4a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a8b8498-ab5a-4f40-a1e0-de4321782054","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914137.8383083} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.219852,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3371b4a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","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":"3371b4a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3371b4a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c 200 7ms","method":"GET","requestID":"3371b4a0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"63de33ab25a4d2343c4bbf2dec85ebfc","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"63de33ab25a4d2343c4bbf2dec85ebfc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3378b980-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e342a2f-419f-4b84-80cc-264426c514e2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914137.8836606} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284305,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3378b980-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","rebac_allow":false,"scope_allow":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":"3378b980-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3378b980-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling 200 7ms","method":"POST","requestID":"3378b980-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3379f200-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77344e96-2329-403a-87a4-04a3f6701add","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914137.8928108} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478747,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3379f200-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3379f200-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3379f200-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling 200 7ms","method":"POST","requestID":"3379f200-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzN30.QQjspB0Fzo4EZNpbsetDGuoMiSZ_oapspPTjxpYhxO8","level":"info","message":"auth send jwt","requestID":"1e04be446307470d911b52c888022288"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e04be446307470d911b52c888022288","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","requestID":"1e04be446307470d911b52c888022288"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.49637,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e04be446307470d911b52c888022288","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914137,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzN30.QQjspB0Fzo4EZNpbsetDGuoMiSZ_oapspPTjxpYhxO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1e04be446307470d911b52c888022288","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","requestID":"1e04be446307470d911b52c888022288"} experiment-1 | {"level":"info","message":"GET /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be 200 10ms","method":"GET","requestID":"1e04be446307470d911b52c888022288","responseTime":10,"status":200,"url":"/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"} gateway-1 | {"time_local":"29/Apr/2025:08:08:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e04be446307470d911b52c888022288"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzN30.QQjspB0Fzo4EZNpbsetDGuoMiSZ_oapspPTjxpYhxO8","level":"info","message":"auth send jwt","requestID":"7431435b765bfcea7d8b247021827386"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7431435b765bfcea7d8b247021827386","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","requestID":"7431435b765bfcea7d8b247021827386"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.788038,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7431435b765bfcea7d8b247021827386","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914137,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzN30.QQjspB0Fzo4EZNpbsetDGuoMiSZ_oapspPTjxpYhxO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7431435b765bfcea7d8b247021827386","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Attempting to finish experiment","requestID":"7431435b765bfcea7d8b247021827386"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"33873870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.64492,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"33873870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914137,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzN30.QQjspB0Fzo4EZNpbsetDGuoMiSZ_oapspPTjxpYhxO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"33873870-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","device":"96a05b3d-81fa-409d-8248-e8c056bba563","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4425086e-f4d6-42a0-a355-73b9724d9b2f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F78cd3fb3-f9bd-412c-9cce-e7757d6dab5c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F78cd3fb3-f9bd-412c-9cce-e7757d6dab5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"49cabcb2-c61a-4943-a862-3d39886d937e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914137.9884882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b726ae6-82ae-45bc-866d-f613e4558b37","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914137.9887958} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"29374f3a4a27eab024b10d5acf8aad7d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"29374f3a4a27eab024b10d5acf8aad7d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"33873870-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54e25c8f1c4d75afdc558323741d6824","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"}}},"level":"info","message":"received a callback","requestID":"29374f3a4a27eab024b10d5acf8aad7d"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54e25c8f1c4d75afdc558323741d6824","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"}}},"level":"info","message":"received a callback","requestID":"54e25c8f1c4d75afdc558323741d6824"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"33873870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c 204 20ms","method":"DELETE","requestID":"33873870-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":204,"url":"/peerconnections/78cd3fb3-f9bd-412c-9cce-e7757d6dab5c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"},"level":"info","message":"Successfully finished experiment","requestID":"7431435b765bfcea7d8b247021827386"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3390ae50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4425086e-f4d6-42a0-a355-73b9724d9b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb53c4a6-d333-42fe-88a9-1b727ca9647e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.0656023} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.699745,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3390ae50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3390ae50-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3390ae50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling 200 32ms","method":"POST","requestID":"3390ae50-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3395de70-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F427b76f0-5c0b-4a5e-bcf0-7b69362c02be': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F427b76f0-5c0b-4a5e-bcf0-7b69362c02be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"b6752b86-dca0-41c7-bd6d-98ac15647997","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.072185} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2af579d-4e1c-4063-b36a-c1b66820f3c6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.0723903} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7431435b765bfcea7d8b247021827386","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96a05b3d-81fa-409d-8248-e8c056bba563","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0655b959-0c56-4132-8189-c8b6d85ab8cf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.0762162} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.524723,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3395de70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563","object_type":"device","rebac_allow":false,"scope_allow":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":"3395de70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3395de70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling 200 9ms","method":"POST","requestID":"3395de70-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/96a05b3d-81fa-409d-8248-e8c056bba563/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be","requestID":"7431435b765bfcea7d8b247021827386"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be 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":"7431435b765bfcea7d8b247021827386"} experiment-1 | {"level":"info","message":"DELETE /experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be 204 228ms","method":"DELETE","requestID":"7431435b765bfcea7d8b247021827386","responseTime":228,"status":204,"url":"/experiments/427b76f0-5c0b-4a5e-bcf0-7b69362c02be"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"4.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1c92be01244add577eb542807a37fd16"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"29374f3a4a27eab024b10d5acf8aad7d","responseTime":183,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"54e25c8f1c4d75afdc558323741d6824","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch","requestID":"29374f3a4a27eab024b10d5acf8aad7d"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"54e25c8f1c4d75afdc558323741d6824"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOH0.cS2ET16bK5HulA9kytzUEYiHEYhHHnZpA5dl9-ootnk","level":"info","message":"auth send jwt","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4425086e-f4d6-42a0-a355-73b9724d9b2f' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/96a05b3d-81fa-409d-8248-e8c056bba563' closed"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:58Z"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.720","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2420d5486c10fc11b2d27ec3391aa094"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914138,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOH0.cS2ET16bK5HulA9kytzUEYiHEYhHHnZpA5dl9-ootnk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4abf969b-e449-4d37-8cad-3d9148c6c0ae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.217267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d170677d-b08d-4cdb-af82-719e08490336","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.221839} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"0ee13864-b4f3-416e-ad77-57a706db20fa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.2318618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c61e2f8-e2fe-4ed2-a90f-19a90b229add","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.2320359} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"05722cb0-c412-4ba7-a1fa-8bfa91971ab3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.2595527} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1","responseTime":84,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8150f1c8616c8a504c15f0be6ff1b3c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOH0.cS2ET16bK5HulA9kytzUEYiHEYhHHnZpA5dl9-ootnk","level":"info","message":"auth send jwt","requestID":"87387d33223c6d53cff25aaaccad35de"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87387d33223c6d53cff25aaaccad35de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"87387d33223c6d53cff25aaaccad35de"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.711586,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"87387d33223c6d53cff25aaaccad35de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914138,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOH0.cS2ET16bK5HulA9kytzUEYiHEYhHHnZpA5dl9-ootnk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cb937a26-6ac4-4466-bc5f-a006af308480","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.2826197} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6aeedbf2-e94c-4805-b7ec-5129a08ef697","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.3094716} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"ee577ead-daa0-41b7-9af4-bfe4c76c4067","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.317719} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21fd11ca-82d0-4cb5-bc85-91107229dc17","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.3180091} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.317696048Z"}]},"request_id":"928e16f0-93ad-4c90-a689-eb97da8e22b6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914138.321693} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"87387d33223c6d53cff25aaaccad35de"} gateway-1 | {"time_local":"29/Apr/2025:08:08:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87387d33223c6d53cff25aaaccad35de"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"87387d33223c6d53cff25aaaccad35de","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOX0.og8t7o0g6GU03V0bbsQKV58YroPkAs8hC2Kn4yqOErE","level":"info","message":"auth send jwt","requestID":"3045913d000ab4aca8d9346259b610c7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3045913d000ab4aca8d9346259b610c7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3045913d000ab4aca8d9346259b610c7"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.887663,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3045913d000ab4aca8d9346259b610c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914139,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOX0.og8t7o0g6GU03V0bbsQKV58YroPkAs8hC2Kn4yqOErE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3045913d000ab4aca8d9346259b610c7","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"6da66b7a-55c9-4bfa-b49b-4577029bb880","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914139.2224069} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3045913d000ab4aca8d9346259b610c7","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fb10bd7-5070-4dd5-adfa-6c04985dcd13","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914139.2262537} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3045913d000ab4aca8d9346259b610c7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"655bc374-249c-4950-b497-fd98151fc677","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914139.2362978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3045913d000ab4aca8d9346259b610c7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3045913d000ab4aca8d9346259b610c7"} gateway-1 | {"time_local":"29/Apr/2025:08:08:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/111d3e8f-56c7-4e40-bb75-956b407bf085 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3045913d000ab4aca8d9346259b610c7"} device-1 | {"level":"info","message":"PATCH /devices/111d3e8f-56c7-4e40-bb75-956b407bf085 200 48ms","method":"PATCH","requestID":"3045913d000ab4aca8d9346259b610c7","responseTime":48,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOX0.og8t7o0g6GU03V0bbsQKV58YroPkAs8hC2Kn4yqOErE","level":"info","message":"auth send jwt","requestID":"0bae74d0fb30235060ad6a700a4cfee9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0bae74d0fb30235060ad6a700a4cfee9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0bae74d0fb30235060ad6a700a4cfee9"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:08:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.901155,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:08:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0bae74d0fb30235060ad6a700a4cfee9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914139,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDEzOX0.og8t7o0g6GU03V0bbsQKV58YroPkAs8hC2Kn4yqOErE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0bae74d0fb30235060ad6a700a4cfee9","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0bae74d0fb30235060ad6a700a4cfee9"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/websocket 200 37ms","method":"POST","requestID":"0bae74d0fb30235060ad6a700a4cfee9","responseTime":37,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:08:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0bae74d0fb30235060ad6a700a4cfee9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bad1e525e213da293e0ef68e3908c472","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bad1e525e213da293e0ef68e3908c472","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/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":"bad1e525e213da293e0ef68e3908c472"} device-1 | {"level":"info","message":"OPTIONS /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/websocket 200 1ms","method":"OPTIONS","requestID":"bad1e525e213da293e0ef68e3908c472","responseTime":1,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085585,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0861af9ca1dc5670b8a4875bbbeee3c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/websocket 200 18ms","method":"POST","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3","responseTime":18,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0861af9ca1dc5670b8a4875bbbeee3c3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"d76a24527df8b2cfe86f08a8dadedcb3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d76a24527df8b2cfe86f08a8dadedcb3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d76a24527df8b2cfe86f08a8dadedcb3"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d76a24527df8b2cfe86f08a8dadedcb3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d76a24527df8b2cfe86f08a8dadedcb3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"6878fade-de2f-4fc6-afcb-5363fe484d3c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.6943038} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d76a24527df8b2cfe86f08a8dadedcb3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d76a24527df8b2cfe86f08a8dadedcb3"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d76a24527df8b2cfe86f08a8dadedcb3"} device-1 | {"level":"info","message":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? 200 11ms","method":"GET","requestID":"d76a24527df8b2cfe86f08a8dadedcb3","responseTime":11,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"1e70238f9cfca1949788eeab192c982a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e70238f9cfca1949788eeab192c982a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1e70238f9cfca1949788eeab192c982a"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689403,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"1e70238f9cfca1949788eeab192c982a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1e70238f9cfca1949788eeab192c982a","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.317696048Z"}]},"request_id":"7c151dd2-71a1-4754-ba99-a7b646b3315f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.7092493} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1e70238f9cfca1949788eeab192c982a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1e70238f9cfca1949788eeab192c982a"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e70238f9cfca1949788eeab192c982a"} device-1 | {"level":"info","message":"GET /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? 200 10ms","method":"GET","requestID":"1e70238f9cfca1949788eeab192c982a","responseTime":10,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.015898,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"2a8bfb6d3d1ed145535b25c0bf07258d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to run experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to book experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully booked experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"352ef500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"352f1c10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885702,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"352ef500-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"352ef500-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56976","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56976","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760919,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"352f1c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"352f1c10-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"f0723edd-6178-4c0f-9228-35f3cbd9de25","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.7591429} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"352ef500-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.317696048Z"}]},"request_id":"ad41919b-ff18-4697-955f-750424a4892d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.7619164} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"352ef500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"352f1c10-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? 200 10ms","method":"GET","requestID":"352ef500-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"352f1c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? 200 12ms","method":"GET","requestID":"352f1c10-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Setting up experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully set up experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"353de920-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"353e1030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"353e3740-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56976","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56976","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.023624,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully running experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"353de920-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"353de920-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252583,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"353e1030-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"353e1030-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.317696048Z"}]},"request_id":"4a565ee6-6a0a-43d8-85b8-059cad328579","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.860526} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"353e1030-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"b722dbee-d8da-4185-87ae-dc4841aec166","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.8613994} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"353de920-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2e58eaf-4827-42b9-b38e-def13b08ca72","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.863717} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.402706,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"353e1030-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"353e3740-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","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/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? 200 16ms","method":"GET","requestID":"353e1030-24d1-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d?"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"353e3740-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"353de920-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? 200 18ms","method":"GET","requestID":"353de920-24d1-11f0-816e-bfe403da652c","responseTime":18,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F43be58b8-6e68-4aa3-85bc-6b10a6884429#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F43be58b8-6e68-4aa3-85bc-6b10a6884429","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"fe157abe-2f6b-4205-9315-d03a9a0dddf0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.8699663} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01b22d2c-61fd-43d4-ad6e-bf16228533ae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.8701386} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3540f660-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"353e3740-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling 200 20ms","method":"POST","requestID":"353e3740-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cbe7137-20bf-4c28-9612-f0d5c1f0e898","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.8984854} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.58945,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3540f660-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3540f660-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35458a40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3540f660-24d1-11f0-816e-bfe403da652c"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling 200 33ms","method":"POST","requestID":"3540f660-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d","responseTime":186,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1461e6ab-8a24-4372-baf1-d6d2d4e78ee3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.9041767} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.5799,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"35458a40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35458a40-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35464d90-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"4ecd684227bc519573b6db8d3577be69"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ecd684227bc519573b6db8d3577be69","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ecd684227bc519573b6db8d3577be69"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35458a40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling 200 10ms","method":"POST","requestID":"35458a40-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c074fe11-bd8a-4cf7-b961-be980fa46928","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.9095607} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56978","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.526568,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"35464d90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35464d90-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676976,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4ecd684227bc519573b6db8d3577be69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ecd684227bc519573b6db8d3577be69","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35464d90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling 200 9ms","method":"POST","requestID":"35464d90-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.231834625Z"}]},"request_id":"ed85b44e-c056-450a-a28c-1b34fa76360b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.915185} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Building connection plan","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} 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":"0d714377-5cfd-4943-87a3-7964043bb902"},{"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":"c3d18903-56d2-4e38-8c36-475084186a63"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b90752f1-efd9-48c1-a6f0-cfb577d57d8f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4ecd684227bc519573b6db8d3577be69","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ecd684227bc519573b6db8d3577be69"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ecd684227bc519573b6db8d3577be69"} device-1 | {"level":"info","message":"GET /devices/111d3e8f-56c7-4e40-bb75-956b407bf085? 200 11ms","method":"GET","requestID":"4ecd684227bc519573b6db8d3577be69","responseTime":11,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085?"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.72313,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE","level":"info","message":"auth send jwt","requestID":"0c364e2026e564e321ceef04b9eac935"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0c364e2026e564e321ceef04b9eac935","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"35482250-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35482250-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0c364e2026e564e321ceef04b9eac935"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731599,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0c364e2026e564e321ceef04b9eac935","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914140,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0MH0.FMQLqOtsy2-cVnyibQLQ5MiRYIIi2_WFXpNpifzXeZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0c364e2026e564e321ceef04b9eac935","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:08:58.317696048Z"}]},"request_id":"1cadfa05-bdde-4224-8433-7fc2b9497b3f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.9537148} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0c364e2026e564e321ceef04b9eac935","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"24727aa9-9bdc-4998-91af-6968595ebac7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.9545195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c0d0ab8-e1ff-4f5a-9ee4-ba140d41d8f3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914140.954753} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"35482250-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0c364e2026e564e321ceef04b9eac935"} gateway-1 | {"time_local":"29/Apr/2025:08:09:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c364e2026e564e321ceef04b9eac935"} device-1 | {"level":"info","message":"GET /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d? 200 34ms","method":"GET","requestID":"0c364e2026e564e321ceef04b9eac935","responseTime":34,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d'","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d'","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"35482250-24d1-11f0-816e-bfe403da652c","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"35482250-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2a8bfb6d3d1ed145535b25c0bf07258d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35571670-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6647cf0c-181e-4353-87a6-ce5652c355f1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914141.01937} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.419774,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"35571670-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"35571670-24d1-11f0-816e-bfe403da652c","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35571670-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling 200 31ms","method":"POST","requestID":"35571670-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"355bf870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:01Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72d09eba-8ac4-4edf-8f55-8e92b69a223b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914141.0528607} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.605673,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"355bf870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"355bf870-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"355bf870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling 200 13ms","method":"POST","requestID":"355bf870-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling"} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2366406053759370081 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:f101\r\na=ice-pwd:VaTif4bbzB+OgwwUFiKxKa5u\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C4:A1:3A:A3:3F:F5:1E:90:E4:54:1D:57:3B:62:A2:D7:E2:68:17:C2:57:68:C6:AB:9D:FC:A4:A5:EC:38:D6:C4\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:581109596 1 udp 2113937151 cb93ecc5-9ffe-4336-b1de-4f27a0523875.local 52132 typ host generation 0 ufrag f101 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","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/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c57403f91dc38b9da0bfab6941f5b00e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c57403f91dc38b9da0bfab6941f5b00e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"}}},"level":"info","message":"received a callback","requestID":"c57403f91dc38b9da0bfab6941f5b00e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"c57403f91dc38b9da0bfab6941f5b00e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"c57403f91dc38b9da0bfab6941f5b00e"} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","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/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"404940632741cd1fef44faaeb45f10ce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"404940632741cd1fef44faaeb45f10ce","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"}}},"level":"info","message":"received a callback","requestID":"404940632741cd1fef44faaeb45f10ce"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"36947870-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ee0a373-7674-4e99-af50-d20d248b1889","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.0995684} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.097368,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"36947870-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","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":"36947870-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"36947870-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d 200 7ms","method":"GET","requestID":"36947870-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"404940632741cd1fef44faaeb45f10ce","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"404940632741cd1fef44faaeb45f10ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"369785b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1993420-2d9a-400a-880d-22d9f2145db7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.1196003} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.348215,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"369785b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"369785b0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"369785b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling 200 8ms","method":"POST","requestID":"369785b0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3698e540-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7ed11f2-01e0-498a-832a-bee0cfafb2c3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.1282873} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.224867,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3698e540-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","rebac_allow":false,"scope_allow":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":"3698e540-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3698e540-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling 200 16ms","method":"POST","requestID":"3698e540-24d1-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c","level":"info","message":"auth send jwt","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.924454,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914143,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379"} experiment-1 | {"level":"info","message":"GET /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429 200 10ms","method":"GET","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379","responseTime":10,"status":200,"url":"/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2d1022c06fe43b7ec0c9a0cd15f7379"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c","level":"info","message":"auth send jwt","requestID":"3adb08937c261bc11a19314b52ffcc69"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3adb08937c261bc11a19314b52ffcc69","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","requestID":"3adb08937c261bc11a19314b52ffcc69"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.85099,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3adb08937c261bc11a19314b52ffcc69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914143,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3adb08937c261bc11a19314b52ffcc69","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Attempting to finish experiment","requestID":"3adb08937c261bc11a19314b52ffcc69"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"36ac9450-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.682158,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"36ac9450-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914143,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"36ac9450-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","device":"795cc109-69a9-4d9f-bc97-8d7fcc097d1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"111d3e8f-56c7-4e40-bb75-956b407bf085","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1738b2d6-8b27-4e64-bb63-0fb4a21ff77d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1738b2d6-8b27-4e64-bb63-0fb4a21ff77d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"4872918d-3ac8-4080-9fc8-1de0d05cd9e5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.2665572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53dff5ad-7e9a-456b-9aec-7650e20a15d7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.2667484} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73706dcfb809a9e452f64f8b036b35a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"73706dcfb809a9e452f64f8b036b35a2","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"36ac9450-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d3347adedb74579f4872db13b598304d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d3347adedb74579f4872db13b598304d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"}}},"level":"info","message":"received a callback","requestID":"73706dcfb809a9e452f64f8b036b35a2"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"}}},"level":"info","message":"received a callback","requestID":"d3347adedb74579f4872db13b598304d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"36ac9450-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d 204 53ms","method":"DELETE","requestID":"36ac9450-24d1-11f0-816e-bfe403da652c","responseTime":53,"status":204,"url":"/peerconnections/1738b2d6-8b27-4e64-bb63-0fb4a21ff77d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"},"level":"info","message":"Successfully finished experiment","requestID":"3adb08937c261bc11a19314b52ffcc69"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36b6cd80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795cc109-69a9-4d9f-bc97-8d7fcc097d1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5729338b-362d-4f54-bff3-8a2df1b6af31","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.348241} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.262211,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"36b6cd80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d","object_type":"device","rebac_allow":false,"scope_allow":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":"36b6cd80-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36b6cd80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling 200 31ms","method":"POST","requestID":"36b6cd80-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36bbd690-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F43be58b8-6e68-4aa3-85bc-6b10a6884429': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F43be58b8-6e68-4aa3-85bc-6b10a6884429","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"0954fac9-e0e3-4580-a909-1b6b55a684f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.3550158} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b40a1cd6-6b76-4b67-881c-c2c33649f770","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.3552346} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"3adb08937c261bc11a19314b52ffcc69","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F111d3e8f-56c7-4e40-bb75-956b407bf085","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdd00797-4c66-4315-ac4b-4ddb5cc87018","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.3578935} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.430854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"36bbd690-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085","object_type":"device","rebac_allow":false,"scope_allow":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":"36bbd690-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36bbd690-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling 200 9ms","method":"POST","requestID":"36bbd690-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/111d3e8f-56c7-4e40-bb75-956b407bf085/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429","requestID":"3adb08937c261bc11a19314b52ffcc69"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3adb08937c261bc11a19314b52ffcc69"} experiment-1 | {"level":"info","message":"DELETE /experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429 204 233ms","method":"DELETE","requestID":"3adb08937c261bc11a19314b52ffcc69","responseTime":233,"status":204,"url":"/experiments/43be58b8-6e68-4aa3-85bc-6b10a6884429"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2492","request_time":"4.173","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4cbe1aebd83d03ff7f100c60b8d7508b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"73706dcfb809a9e452f64f8b036b35a2","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"73706dcfb809a9e452f64f8b036b35a2"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/111d3e8f-56c7-4e40-bb75-956b407bf085' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"d3347adedb74579f4872db13b598304d","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"d3347adedb74579f4872db13b598304d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c","level":"info","message":"auth send jwt","requestID":"270ae00eb77094e359a27a3481261c12"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.788","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc1756f268eae23d6debc5f804613b72"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"270ae00eb77094e359a27a3481261c12","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"270ae00eb77094e359a27a3481261c12"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/795cc109-69a9-4d9f-bc97-8d7fcc097d1d' closed"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.666741,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"270ae00eb77094e359a27a3481261c12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914143,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d7067846-81f1-4e6d-a07f-2503ee8e53f3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.5073757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc631361-045b-4c31-afeb-77f860e452f5","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.511736} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"9811a487-1b2f-432a-98a9-b34757eeeeb9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.544185} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3ef0f67-51ee-443d-9b65-4191c1c616e0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.5443761} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"49231666-20d9-4bc0-909e-4b2887f44807","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.5479865} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"270ae00eb77094e359a27a3481261c12"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"270ae00eb77094e359a27a3481261c12","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"270ae00eb77094e359a27a3481261c12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c","level":"info","message":"auth send jwt","requestID":"63020de9cca431ad91763d34daeb659e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"63020de9cca431ad91763d34daeb659e"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.774973,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"63020de9cca431ad91763d34daeb659e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914143,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0M30.TZVCvVoQ9Cy47T4f1oH-azMmOc4mipjPvqM6-G53Y5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f07c71ec-71ed-4c6a-849a-bec926b13dad","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.5938067} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5213c2f-4bd2-4f62-9b07-cab23f56f24b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.598297} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"71a6b8e6-7df0-4ccb-a257-734455ace18b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.607817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f149831-a54c-4951-9a85-886e8ef0e593","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.608059} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.607783821Z"}]},"request_id":"27e4fb2f-2096-48ce-ae65-029c2ae5e9d6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914143.6362047} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"63020de9cca431ad91763d34daeb659e"} gateway-1 | {"time_local":"29/Apr/2025:08:09:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63020de9cca431ad91763d34daeb659e"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"63020de9cca431ad91763d34daeb659e","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NH0.w6k3fRP3fRxLAEh2R38viHS8Ala60g0wsmM-O98VQ2s","level":"info","message":"auth send jwt","requestID":"e420ae7128490d7268cf6d21fec63f76"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e420ae7128490d7268cf6d21fec63f76","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e420ae7128490d7268cf6d21fec63f76"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855647,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"e420ae7128490d7268cf6d21fec63f76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914144,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NH0.w6k3fRP3fRxLAEh2R38viHS8Ala60g0wsmM-O98VQ2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e420ae7128490d7268cf6d21fec63f76","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"5d0f69ba-37e2-45db-9b8a-6833060ae9f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914144.5182068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e420ae7128490d7268cf6d21fec63f76","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"125f15d3-da35-4d78-a037-3ede38f58f78","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914144.5470042} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"e420ae7128490d7268cf6d21fec63f76","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"fb07c903-fabe-438c-bbd4-39aa4b3faa51","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914144.5564106} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e420ae7128490d7268cf6d21fec63f76","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e420ae7128490d7268cf6d21fec63f76"} device-1 | {"level":"info","message":"PATCH /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176 200 49ms","method":"PATCH","requestID":"e420ae7128490d7268cf6d21fec63f76","responseTime":49,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"} gateway-1 | {"time_local":"29/Apr/2025:08:09:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e420ae7128490d7268cf6d21fec63f76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NH0.w6k3fRP3fRxLAEh2R38viHS8Ala60g0wsmM-O98VQ2s","level":"info","message":"auth send jwt","requestID":"8667be3160c3e29a810d2e6991e3ef73"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8667be3160c3e29a810d2e6991e3ef73","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8667be3160c3e29a810d2e6991e3ef73"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736372,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"8667be3160c3e29a810d2e6991e3ef73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914144,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NH0.w6k3fRP3fRxLAEh2R38viHS8Ala60g0wsmM-O98VQ2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8667be3160c3e29a810d2e6991e3ef73","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8667be3160c3e29a810d2e6991e3ef73"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/websocket 200 39ms","method":"POST","requestID":"8667be3160c3e29a810d2e6991e3ef73","responseTime":39,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:09:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8667be3160c3e29a810d2e6991e3ef73"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"80e825a3cf2fd06d28c1cce9c3fa8dbe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"80e825a3cf2fd06d28c1cce9c3fa8dbe","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/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":"80e825a3cf2fd06d28c1cce9c3fa8dbe"} device-1 | {"level":"info","message":"OPTIONS /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/websocket 200 0ms","method":"OPTIONS","requestID":"80e825a3cf2fd06d28c1cce9c3fa8dbe","responseTime":0,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s","level":"info","message":"auth send jwt","requestID":"060d40e5affaa3e7f89d1d027633abe0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"060d40e5affaa3e7f89d1d027633abe0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"060d40e5affaa3e7f89d1d027633abe0"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.41721,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"060d40e5affaa3e7f89d1d027633abe0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"060d40e5affaa3e7f89d1d027633abe0","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"060d40e5affaa3e7f89d1d027633abe0"} gateway-1 | {"time_local":"29/Apr/2025:08:09:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/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":"060d40e5affaa3e7f89d1d027633abe0"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/websocket 200 20ms","method":"POST","requestID":"060d40e5affaa3e7f89d1d027633abe0","responseTime":20,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s","level":"info","message":"auth send jwt","requestID":"ede28f317024f5f477a1c1c5b7b4e33e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ede28f317024f5f477a1c1c5b7b4e33e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ede28f317024f5f477a1c1c5b7b4e33e"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691738,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ede28f317024f5f477a1c1c5b7b4e33e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ede28f317024f5f477a1c1c5b7b4e33e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"4ea75ecd-deac-448f-915c-b0560066d2a4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914145.9475043} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ede28f317024f5f477a1c1c5b7b4e33e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ede28f317024f5f477a1c1c5b7b4e33e"} device-1 | {"level":"info","message":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? 200 14ms","method":"GET","requestID":"ede28f317024f5f477a1c1c5b7b4e33e","responseTime":14,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ede28f317024f5f477a1c1c5b7b4e33e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s","level":"info","message":"auth send jwt","requestID":"939e6717ab46dadcfd0f4b7e89458a68"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"939e6717ab46dadcfd0f4b7e89458a68","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"939e6717ab46dadcfd0f4b7e89458a68"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654334,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"939e6717ab46dadcfd0f4b7e89458a68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"939e6717ab46dadcfd0f4b7e89458a68","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.607783821Z"}]},"request_id":"b0eef85e-1674-443b-af54-36b471f50424","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914145.9644673} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"939e6717ab46dadcfd0f4b7e89458a68","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"939e6717ab46dadcfd0f4b7e89458a68"} gateway-1 | {"time_local":"29/Apr/2025:08:09:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"939e6717ab46dadcfd0f4b7e89458a68"} device-1 | {"level":"info","message":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? 200 10ms","method":"GET","requestID":"939e6717ab46dadcfd0f4b7e89458a68","responseTime":10,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s","level":"info","message":"auth send jwt","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e87bcef248fbcf288e7cae20b01ec9f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.671194,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5e87bcef248fbcf288e7cae20b01ec9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5e87bcef248fbcf288e7cae20b01ec9f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to run experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to book experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully booked experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"38503230-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"38505940-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.149188,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"38503230-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"38503230-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50600","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50600","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910228,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"38505940-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"38505940-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"cb4afb0c-fb17-4a03-acf7-fe4ce43c271c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.0114222} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"38503230-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.607783821Z"}]},"request_id":"edefba92-d55d-4f15-a066-77d0ba858428","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.0141351} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"38503230-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"38505940-24d1-11f0-816e-bfe403da652c","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? 200 12ms","method":"GET","requestID":"38503230-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"38505940-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? 200 13ms","method":"GET","requestID":"38505940-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Setting up experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully set up experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"385cb550-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"385cdc60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"385d0370-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully running experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} authorization-1 | {"client_addr":"127.0.0.1:50600","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50600","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690977,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"385cb550-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"385cb550-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592882,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"385cdc60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"385cdc60-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09: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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.607783821Z"}]},"request_id":"c69bdf3d-2ecd-4237-92af-064c5e3c6c8b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.0944703} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"385cdc60-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"a4b32941-9181-4416-a044-923afb7c82e6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.0953445} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"017ed191-1796-40cb-8c3a-bfef2629ea08","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.0959446} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"385cb550-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470865,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"385d0370-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","rebac_allow":false,"scope_allow":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":"385d0370-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"385cb550-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? 200 15ms","method":"GET","requestID":"385cb550-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"385cdc60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? 200 15ms","method":"GET","requestID":"385cdc60-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"385d0370-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling 200 15ms","method":"POST","requestID":"385d0370-24d1-11f0-816e-bfe403da652c","responseTime":15,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0111b66a-0f77-4c48-a63b-74924687db18#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0111b66a-0f77-4c48-a63b-74924687db18","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"8cdd1818-b4c2-413d-998d-310f87cb4af2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1028416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e33fde6-81c9-408b-aaca-ae40d7e64a02","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.103104} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"385f9b80-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"5e87bcef248fbcf288e7cae20b01ec9f","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38636c10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6dc1a98-729d-427d-8d46-0525673bc017","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1318953} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcd1479a-1025-45b4-bc32-726c20bee5ab","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1328912} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.946467,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"385f9b80-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"385f9b80-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.475998,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"5e87bcef248fbcf288e7cae20b01ec9f","responseTime":163,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"38636c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"38636c10-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:09:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"385f9b80-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling 200 34ms","method":"POST","requestID":"385f9b80-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0Nn0.D_wz2eJgFkMuRl4p0KSm7NR7x0nBzr2p1g80YlsdGnA","level":"info","message":"auth send jwt","requestID":"c60ff1265a7f41587801854ca7b2b917"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38636c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling 200 10ms","method":"POST","requestID":"38636c10-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c60ff1265a7f41587801854ca7b2b917","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c60ff1265a7f41587801854ca7b2b917"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"386540d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605715,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"c60ff1265a7f41587801854ca7b2b917","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914146,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0Nn0.D_wz2eJgFkMuRl4p0KSm7NR7x0nBzr2p1g80YlsdGnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c60ff1265a7f41587801854ca7b2b917","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fbe933c-d16b-4fba-bdce-54b8d0d310ae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1445708} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.316559,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"386540d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"386540d0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.544152157Z"}]},"request_id":"26663b1d-be46-4286-b83e-85bfbbbce594","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1465254} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c60ff1265a7f41587801854ca7b2b917","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"386540d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling 200 9ms","method":"POST","requestID":"386540d0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c60ff1265a7f41587801854ca7b2b917"} gateway-1 | {"time_local":"29/Apr/2025:08:09:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c60ff1265a7f41587801854ca7b2b917"} device-1 | {"level":"info","message":"GET /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176? 200 11ms","method":"GET","requestID":"c60ff1265a7f41587801854ca7b2b917","responseTime":11,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Building connection plan","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} 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":"6dd9b0c4-7e42-4945-bea4-2edec32e6af5"},{"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":"41aa2b59-82b4-4379-8ff0-411945452ba0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e35e05b4-e24c-4872-857c-98cf65556c2c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0Nn0.D_wz2eJgFkMuRl4p0KSm7NR7x0nBzr2p1g80YlsdGnA","level":"info","message":"auth send jwt","requestID":"50045187d6ebe2c7c36925c61c7cb4c7"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"50045187d6ebe2c7c36925c61c7cb4c7","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50045187d6ebe2c7c36925c61c7cb4c7"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.73062,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"386abf10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914145,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0NX0.6_7qzf57bpTXCRGIx2K_W_0ayKNW1L6t--T0d56WK3s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"386abf10-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929582,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"50045187d6ebe2c7c36925c61c7cb4c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914146,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0Nn0.D_wz2eJgFkMuRl4p0KSm7NR7x0nBzr2p1g80YlsdGnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50045187d6ebe2c7c36925c61c7cb4c7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:03.607783821Z"}]},"request_id":"19e9bbf6-4211-4c9d-b3d3-e9c246a8ba5c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.187068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50045187d6ebe2c7c36925c61c7cb4c7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50045187d6ebe2c7c36925c61c7cb4c7"} device-1 | {"level":"info","message":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? 200 11ms","method":"GET","requestID":"50045187d6ebe2c7c36925c61c7cb4c7","responseTime":11,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/216ebeed-2cac-418c-8eeb-e961f3d67658? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50045187d6ebe2c7c36925c61c7cb4c7"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"86ff2f63-6506-4d00-a15c-5197983e39c6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1905577} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9822512d-07ae-4e18-8fea-98a077e3eccb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.1907053} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"386abf10-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630'","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630'","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"386abf10-24d1-11f0-816e-bfe403da652c","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"386abf10-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5e87bcef248fbcf288e7cae20b01ec9f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3879b330-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3538b8a-d0da-4cad-82ae-ade0f4b24203","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.279312} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.316285,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3879b330-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","rebac_allow":false,"scope_allow":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":"3879b330-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3879b330-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling 200 8ms","method":"POST","requestID":"3879b330-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"387b12c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ce126f7-0e86-4934-a3cc-f79746e0f9b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914146.2885158} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.363134,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"387b12c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"387b12c0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"387b12c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling 200 9ms","method":"POST","requestID":"387b12c0-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling"} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4630409251666553951 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:c3ga\r\na=ice-pwd:Jys16T2AN2Nb/f/0uExSSMMn\r\na=ice-options:trickle\r\na=fingerprint:sha-256 51:16:6B:8C:47:68:A5:97:2B:05:4C:E1:98:09:CF:8B:98:23:80:ED:42:E9:BA:2B:E3:A1:09:58:EF:D3:BA:6E\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:960333634 1 udp 2113937151 f8e04107-b635-4b63-8390-04479516fdc1.local 38082 typ host generation 0 ufrag c3ga network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","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/555b9bd9-e472-42a5-8c78-51193aa7b630' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"84a7d87a83ed3b1efa20588c27d1cdfc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"84a7d87a83ed3b1efa20588c27d1cdfc","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"}}},"level":"info","message":"received a callback","requestID":"84a7d87a83ed3b1efa20588c27d1cdfc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"84a7d87a83ed3b1efa20588c27d1cdfc","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"84a7d87a83ed3b1efa20588c27d1cdfc"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"216ebeed-2cac-418c-8eeb-e961f3d67658","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/555b9bd9-e472-42a5-8c78-51193aa7b630' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a58f841204520f7e2d18b6a8e932dd03","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a58f841204520f7e2d18b6a8e932dd03","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"}}},"level":"info","message":"received a callback","requestID":"a58f841204520f7e2d18b6a8e932dd03"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"39b344a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F555b9bd9-e472-42a5-8c78-51193aa7b630","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a98a8dd-6ef9-42b0-97ee-eee3b24fa0bd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.3337402} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.177933,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39b344a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","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":"39b344a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"39b344a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630 200 6ms","method":"GET","requestID":"39b344a0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"a58f841204520f7e2d18b6a8e932dd03","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"a58f841204520f7e2d18b6a8e932dd03"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39b6a000-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d610631a-9b29-4315-9e0b-c37db7708d75","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.356066} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.090558,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39b6a000-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","rebac_allow":false,"scope_allow":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":"39b6a000-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39b6a000-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling 200 7ms","method":"POST","requestID":"39b6a000-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39bba910-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76bea6a3-4fe0-4d10-8f80-e7452dfbcb4f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.3894994} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.522405,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39bba910-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39bba910-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39bba910-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling 200 8ms","method":"POST","requestID":"39bba910-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw","level":"info","message":"auth send jwt","requestID":"98cb8f47f2b3bc0144916ef0ecbab292"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98cb8f47f2b3bc0144916ef0ecbab292","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0111b66a-0f77-4c48-a63b-74924687db18","requestID":"98cb8f47f2b3bc0144916ef0ecbab292"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.016766,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"98cb8f47f2b3bc0144916ef0ecbab292","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914148,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"98cb8f47f2b3bc0144916ef0ecbab292","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0111b66a-0f77-4c48-a63b-74924687db18","requestID":"98cb8f47f2b3bc0144916ef0ecbab292"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0111b66a-0f77-4c48-a63b-74924687db18 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98cb8f47f2b3bc0144916ef0ecbab292"} experiment-1 | {"level":"info","message":"GET /experiments/0111b66a-0f77-4c48-a63b-74924687db18 200 9ms","method":"GET","requestID":"98cb8f47f2b3bc0144916ef0ecbab292","responseTime":9,"status":200,"url":"/experiments/0111b66a-0f77-4c48-a63b-74924687db18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw","level":"info","message":"auth send jwt","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"038524aaa8cdcb27182cf5f8b878dff5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0111b66a-0f77-4c48-a63b-74924687db18","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.873575,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"038524aaa8cdcb27182cf5f8b878dff5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914148,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"038524aaa8cdcb27182cf5f8b878dff5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Attempting to finish experiment","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"39cac440-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.861135,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39cac440-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914148,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"39cac440-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630","device":"216ebeed-2cac-418c-8eeb-e961f3d67658","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8f3e75bd-4d07-401b-ae3c-4c07307a8176","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb4d66bcb7a1376b1414c7ebfb37dcd7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb4d66bcb7a1376b1414c7ebfb37dcd7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d3dbe6cf13fbb059b4644871d942ff9a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F555b9bd9-e472-42a5-8c78-51193aa7b630': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F555b9bd9-e472-42a5-8c78-51193aa7b630","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"5edf8b7b-62e1-493c-8be4-a2e767821d4b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.5016222} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"}}},"level":"info","message":"received a callback","requestID":"bb4d66bcb7a1376b1414c7ebfb37dcd7"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d3dbe6cf13fbb059b4644871d942ff9a","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b57db4c4-4ec8-4a20-8fac-37e023d1d896","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.5018165} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"}}},"level":"info","message":"received a callback","requestID":"d3dbe6cf13fbb059b4644871d942ff9a"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"39cac440-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"555b9bd9-e472-42a5-8c78-51193aa7b630","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"39cac440-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630 204 57ms","method":"DELETE","requestID":"39cac440-24d1-11f0-816e-bfe403da652c","responseTime":57,"status":204,"url":"/peerconnections/555b9bd9-e472-42a5-8c78-51193aa7b630"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0111b66a-0f77-4c48-a63b-74924687db18"},"level":"info","message":"Successfully finished experiment","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39d94330-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F216ebeed-2cac-418c-8eeb-e961f3d67658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02bcad37-8600-42b5-a14c-6d68ad339d41","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.5840325} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.462814,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39d94330-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658","object_type":"device","rebac_allow":false,"scope_allow":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":"39d94330-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39d94330-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling 200 10ms","method":"POST","requestID":"39d94330-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/216ebeed-2cac-418c-8eeb-e961f3d67658/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0111b66a-0f77-4c48-a63b-74924687db18': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0111b66a-0f77-4c48-a63b-74924687db18","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"9b80b869-2b13-49b5-b864-33ace08550c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.5920048} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39db6610-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"183ed22a-9e82-4112-92de-34b577b86939","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.5924122} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"038524aaa8cdcb27182cf5f8b878dff5","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f3e75bd-4d07-401b-ae3c-4c07307a8176","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a633fca-be1d-4d06-811a-44d34b478f3c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.598088} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.148064,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"39db6610-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"39db6610-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39db6610-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling 200 10ms","method":"POST","requestID":"39db6610-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0111b66a-0f77-4c48-a63b-74924687db18","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0111b66a-0f77-4c48-a63b-74924687db18 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"038524aaa8cdcb27182cf5f8b878dff5"} experiment-1 | {"level":"info","message":"DELETE /experiments/0111b66a-0f77-4c48-a63b-74924687db18 204 246ms","method":"DELETE","requestID":"038524aaa8cdcb27182cf5f8b878dff5","responseTime":246,"status":204,"url":"/experiments/0111b66a-0f77-4c48-a63b-74924687db18"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2492","request_time":"4.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"16405969d74e5f702bb79a7703bcf09c"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb4d66bcb7a1376b1414c7ebfb37dcd7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"bb4d66bcb7a1376b1414c7ebfb37dcd7","responseTime":197,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 196ms","method":"POST","requestID":"d3dbe6cf13fbb059b4644871d942ff9a","responseTime":196,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.199","http_referrer":"","http_user_agent":"node-fetch","requestID":"d3dbe6cf13fbb059b4644871d942ff9a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8f3e75bd-4d07-401b-ae3c-4c07307a8176' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw","level":"info","message":"auth send jwt","requestID":"666e82423fa7ce2b324091716da9a512"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"666e82423fa7ce2b324091716da9a512","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"666e82423fa7ce2b324091716da9a512"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.801","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b5d05c952be661d05e32000c024eee2d"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/216ebeed-2cac-418c-8eeb-e961f3d67658' closed"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943141,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"666e82423fa7ce2b324091716da9a512","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914148,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e2e93bc-bfc2-4483-b359-ee3b35cfbe8e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.7444868} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f65ff19a-4a0b-4d0c-b32c-c7c929e6264d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.7727377} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"aa67cd3e-4251-4031-b57a-844ecd2a66c8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.782213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f01ebb5-afcb-4d25-addc-41119a473b95","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.782331} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"77fa120b-b805-4b51-8474-1ffdd26d2ae0","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.7861998} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"666e82423fa7ce2b324091716da9a512"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"666e82423fa7ce2b324091716da9a512"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"666e82423fa7ce2b324091716da9a512","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw","level":"info","message":"auth send jwt","requestID":"67de8e16988fb5b519a757358ceda762"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"67de8e16988fb5b519a757358ceda762"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73222,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"67de8e16988fb5b519a757358ceda762","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914148,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OH0.fDqUSuJZ13Uh5XCDnhryiQcR9Aubz0kg2liMAN2u9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e05ed2e5-a0be-493f-b234-af5d07280642","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.8354094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56f18272-1686-41c0-9f38-3b94d4cc2371","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.8393924} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e52ee2aa-f0e2-440e-af3e-5786f5513823","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.8735476} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe051d3d-030e-4c47-8161-8f7fbbabd180","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.8737326} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"d1016517-7e54-433e-beca-65efd8b7b648","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914148.8775835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"67de8e16988fb5b519a757358ceda762"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"67de8e16988fb5b519a757358ceda762","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67de8e16988fb5b519a757358ceda762"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"bad32cc3c02d01e35045857f5bf1c77c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bad32cc3c02d01e35045857f5bf1c77c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bad32cc3c02d01e35045857f5bf1c77c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697481,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"05657a84618fd2ceb13a8b6b54aa21b4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bad32cc3c02d01e35045857f5bf1c77c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bad32cc3c02d01e35045857f5bf1c77c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"05657a84618fd2ceb13a8b6b54aa21b4"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994901,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"05657a84618fd2ceb13a8b6b54aa21b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"50fa1246-a0d1-4245-ab52-964c91462a26","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.7521589} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bad32cc3c02d01e35045857f5bf1c77c","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"cefee269-801b-4432-9953-6c9f93cf2c4a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.7790728} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1f6ece3-0b26-4314-b018-4b4843c915a2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.7816072} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bad32cc3c02d01e35045857f5bf1c77c","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d7e2995-67d4-4c4f-a70d-7208b08a3962","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.7848482} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"ce59f745-5aa4-4e75-a84e-2a689feb0538","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.791661} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bad32cc3c02d01e35045857f5bf1c77c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bad32cc3c02d01e35045857f5bf1c77c"} device-1 | {"level":"info","message":"PATCH /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138 200 51ms","method":"PATCH","requestID":"bad32cc3c02d01e35045857f5bf1c77c","responseTime":51,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bad32cc3c02d01e35045857f5bf1c77c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"3c4fb476117846bae1279bafb75d8545"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c4fb476117846bae1279bafb75d8545","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3c4fb476117846bae1279bafb75d8545"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648518,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c4fb476117846bae1279bafb75d8545","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3c4fb476117846bae1279bafb75d8545","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"cb7d9dcd-f37d-4e73-9cb1-c817086fa805","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.8007443} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"05657a84618fd2ceb13a8b6b54aa21b4"} device-1 | {"level":"info","message":"PATCH /devices/1c663131-1909-4878-a020-479d3b84ef7a 200 83ms","method":"PATCH","requestID":"05657a84618fd2ceb13a8b6b54aa21b4","responseTime":83,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1c663131-1909-4878-a020-479d3b84ef7a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.087","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"05657a84618fd2ceb13a8b6b54aa21b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"0aee29ed5d54f7e22071fa273a7eab4d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0aee29ed5d54f7e22071fa273a7eab4d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0aee29ed5d54f7e22071fa273a7eab4d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3c4fb476117846bae1279bafb75d8545"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3c4fb476117846bae1279bafb75d8545"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/websocket 200 38ms","method":"POST","requestID":"3c4fb476117846bae1279bafb75d8545","responseTime":38,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/websocket"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831594,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0aee29ed5d54f7e22071fa273a7eab4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0aee29ed5d54f7e22071fa273a7eab4d","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0aee29ed5d54f7e22071fa273a7eab4d"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0aee29ed5d54f7e22071fa273a7eab4d"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/websocket 200 15ms","method":"POST","requestID":"0aee29ed5d54f7e22071fa273a7eab4d","responseTime":15,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678101,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ad8ed22e8d54668bdf671555cb4dd0a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"36384182-07d0-445a-ad51-279026ea8c38","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.887274} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7"} device-1 | {"level":"info","message":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? 200 9ms","method":"GET","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7","responseTime":9,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad8ed22e8d54668bdf671555cb4dd0a7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.378412,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"de5d941a8fa8488ba31d1f6c7c3f8789","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"740673bf-c246-4008-b857-8862e8463396","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.924958} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789"} device-1 | {"level":"info","message":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? 200 33ms","method":"GET","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789","responseTime":33,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de5d941a8fa8488ba31d1f6c7c3f8789"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ","level":"info","message":"auth send jwt","requestID":"d26379851d42be2c5f9a5170edd68d1b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d26379851d42be2c5f9a5170edd68d1b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d26379851d42be2c5f9a5170edd68d1b"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.72055,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d26379851d42be2c5f9a5170edd68d1b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d26379851d42be2c5f9a5170edd68d1b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to run experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to book experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully booked experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88224,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665189,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"71cd224c-bb9a-437d-a728-a8c00c13f637","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.9871135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"0412c881-601f-4ae0-be7e-24bd4cf2d198","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914149.9876616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? 200 11ms","method":"GET","requestID":"3aaf09c0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? 200 11ms","method":"GET","requestID":"3aaf30d0-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Setting up experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully set up experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3abe24f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906324,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully running experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918564,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebf6b534-34d9-4fe1-8a4b-5efc60ec210d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.0857515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"e117c050-a358-4014-9c9b-413c6f4e4983","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.0874045} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.095636,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3abe24f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","rebac_allow":false,"scope_allow":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":"3abe24f0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"2da5e656-11fd-4979-9282-fe63cd07d103","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.0884855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? 200 39ms","method":"GET","requestID":"3abdd6d0-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3abe24f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling 200 39ms","method":"POST","requestID":"3abe24f0-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? 200 43ms","method":"GET","requestID":"3abdafc0-24d1-11f0-816e-bfe403da652c","responseTime":43,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ac43f70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ac46680-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdada7bbe-7ebc-4fa3-b6be-98ab69bd8915#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdada7bbe-7ebc-4fa3-b6be-98ab69bd8915","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"e2b29b0e-8be5-408d-a3fd-24e49feedf29","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.122013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a88c894e-5a27-4278-b46a-8e4b63395e23","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.1221578} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"d26379851d42be2c5f9a5170edd68d1b","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480231,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d57de66a-f8a1-440b-a6e0-30210d63e9d9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.1245632} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e717d3da-4ae0-4cc2-8a7b-8e09f0d1673f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.124965} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.943202,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3ac43f70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ac43f70-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3ac46680-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ac46680-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ac43f70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling 200 11ms","method":"POST","requestID":"3ac43f70-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:09:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ac46680-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 198ms","method":"POST","requestID":"d26379851d42be2c5f9a5170edd68d1b","responseTime":198,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling 200 10ms","method":"POST","requestID":"3ac46680-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ac63b40-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1MH0.WPkvBto09wt2jtBLskZv5jZBbE04G44azGKJX6kNAZM","level":"info","message":"auth send jwt","requestID":"09d2d813c30feb9f2594ff85125b7580"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09d2d813c30feb9f2594ff85125b7580","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09d2d813c30feb9f2594ff85125b7580"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e999a19e-9e58-433f-9653-94bc015484bc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.160834} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.942031,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"09d2d813c30feb9f2594ff85125b7580","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914150,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1MH0.WPkvBto09wt2jtBLskZv5jZBbE04G44azGKJX6kNAZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"09d2d813c30feb9f2594ff85125b7580","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.384416,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3ac63b40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3ac63b40-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.782185219Z"}]},"request_id":"eb887dc2-2892-42bd-9303-e8ff59379eb2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.16463} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ac63b40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling 200 33ms","method":"POST","requestID":"3ac63b40-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"09d2d813c30feb9f2594ff85125b7580","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Building connection plan","requestID":"d26379851d42be2c5f9a5170edd68d1b"} 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":"4a76fd50-e55d-4f5e-857b-56358785ea09"},{"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":"ca30952d-79c3-4f85-aff2-b03f65f1b786"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2af4bfd3-cdc0-48ee-b97b-095d9ba505de"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d26379851d42be2c5f9a5170edd68d1b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09d2d813c30feb9f2594ff85125b7580"} gateway-1 | {"time_local":"29/Apr/2025:08:09:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09d2d813c30feb9f2594ff85125b7580"} device-1 | {"level":"info","message":"GET /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138? 200 34ms","method":"GET","requestID":"09d2d813c30feb9f2594ff85125b7580","responseTime":34,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138?"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.289512,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3acb9270-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914149,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE0OX0.Szdh6cvuzfd3igfrqKvbbvhkg55T71PJMMYjnr2qZDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1MH0.WPkvBto09wt2jtBLskZv5jZBbE04G44azGKJX6kNAZM","level":"info","message":"auth send jwt","requestID":"5eb933bf603f45db454dd232015b8345"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5eb933bf603f45db454dd232015b8345","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5eb933bf603f45db454dd232015b8345"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5eb933bf603f45db454dd232015b8345","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914150,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1MH0.WPkvBto09wt2jtBLskZv5jZBbE04G44azGKJX6kNAZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5eb933bf603f45db454dd232015b8345","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:08.873523403Z"}]},"request_id":"2c04aca9-5280-4932-b44d-b649d44185c4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.1794605} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5eb933bf603f45db454dd232015b8345","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"97ceaf22-e446-4d57-b6fb-2314c0a2e14f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.1805649} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c79cfd1-8f05-45e9-8dd6-73418f57f847","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.1809535} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5eb933bf603f45db454dd232015b8345"} gateway-1 | {"time_local":"29/Apr/2025:08:09:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5eb933bf603f45db454dd232015b8345"} device-1 | {"level":"info","message":"GET /devices/1c663131-1909-4878-a020-479d3b84ef7a? 200 10ms","method":"GET","requestID":"5eb933bf603f45db454dd232015b8345","responseTime":10,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82'","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82'","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"3acb9270-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d26379851d42be2c5f9a5170edd68d1b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3adb70f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe60c268-1345-4f93-90df-d9aec3029178","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.275053} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3adb70f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","rebac_allow":false,"scope_allow":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":"3adb70f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3adb70f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling 200 7ms","method":"POST","requestID":"3adb70f0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3adcd080-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c530fd18-ec32-4afb-8902-6b84b71e8272","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914150.3084552} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393211,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3adcd080-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","rebac_allow":false,"scope_allow":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":"3adcd080-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3adcd080-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling 200 32ms","method":"POST","requestID":"3adcd080-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling"} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dad470c4d1a5552b58c5924f4764c6b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dad470c4d1a5552b58c5924f4764c6b3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"}}},"level":"info","message":"received a callback","requestID":"dad470c4d1a5552b58c5924f4764c6b3"} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"dad470c4d1a5552b58c5924f4764c6b3","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"dad470c4d1a5552b58c5924f4764c6b3"} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","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/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ed9fc4963e561597646c2c0edeaf6a1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ed9fc4963e561597646c2c0edeaf6a1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"}}},"level":"info","message":"received a callback","requestID":"8ed9fc4963e561597646c2c0edeaf6a1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3c129160-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd79fa6e2-90e9-4054-a8fa-4aa5376c0b82","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea2aaf55-9a4a-4baf-89f1-9108b4ef4f0d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.3158243} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.4439,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c129160-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","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":"3c129160-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3c129160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82 200 9ms","method":"GET","requestID":"3c129160-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"8ed9fc4963e561597646c2c0edeaf6a1","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ed9fc4963e561597646c2c0edeaf6a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3c16fe30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7b4d664-9450-428e-807d-4dd002b23a8d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.3440669} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.168856,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c16fe30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3c16fe30-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3c16fe30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling 200 9ms","method":"POST","requestID":"3c16fe30-24d1-11f0-816e-bfe403da652c","responseTime":9,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3c18abe0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d2c229c-d95e-4b6a-8403-181626262672","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.3543963} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.231179,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c18abe0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","rebac_allow":false,"scope_allow":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":"3c18abe0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3c18abe0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling 200 8ms","method":"POST","requestID":"3c18abe0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I","level":"info","message":"auth send jwt","requestID":"5e3d1c49f6a7cefada0156a164c52ef4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5e3d1c49f6a7cefada0156a164c52ef4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","requestID":"5e3d1c49f6a7cefada0156a164c52ef4"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.752742,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5e3d1c49f6a7cefada0156a164c52ef4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914152,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e3d1c49f6a7cefada0156a164c52ef4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","requestID":"5e3d1c49f6a7cefada0156a164c52ef4"} experiment-1 | {"level":"info","message":"GET /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915 200 10ms","method":"GET","requestID":"5e3d1c49f6a7cefada0156a164c52ef4","responseTime":10,"status":200,"url":"/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e3d1c49f6a7cefada0156a164c52ef4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I","level":"info","message":"auth send jwt","requestID":"300a0169b71664465809e3c54c51079d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"300a0169b71664465809e3c54c51079d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","requestID":"300a0169b71664465809e3c54c51079d"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.464427,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"300a0169b71664465809e3c54c51079d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914152,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"300a0169b71664465809e3c54c51079d","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Attempting to finish experiment","requestID":"300a0169b71664465809e3c54c51079d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.827419,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914152,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1c663131-1909-4878-a020-479d3b84ef7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4036c1f-9a76-4b3e-924b-d9ffccd1d138","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d79fa6e2-90e9-4054-a8fa-4aa5376c0b82","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd79fa6e2-90e9-4054-a8fa-4aa5376c0b82': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd79fa6e2-90e9-4054-a8fa-4aa5376c0b82","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"98079dde-03d9-4e88-bbca-6f72a125945b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.4835963} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2357b669-f06a-488d-82dd-895e70950fdb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.4838226} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"af5823fe085a6fc03d279da638af559f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"af5823fe085a6fc03d279da638af559f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6887cee09052b545b63bd0cb90571ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6887cee09052b545b63bd0cb90571ec","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"}}},"level":"info","message":"received a callback","requestID":"af5823fe085a6fc03d279da638af559f"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"}}},"level":"info","message":"received a callback","requestID":"c6887cee09052b545b63bd0cb90571ec"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82 204 55ms","method":"DELETE","requestID":"3c2afb60-24d1-11f0-816e-bfe403da652c","responseTime":55,"status":204,"url":"/peerconnections/d79fa6e2-90e9-4054-a8fa-4aa5376c0b82"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"},"level":"info","message":"Successfully finished experiment","requestID":"300a0169b71664465809e3c54c51079d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3c35a9c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4036c1f-9a76-4b3e-924b-d9ffccd1d138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c977712-d6c7-406f-aebe-2564af2eb1df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.5643842} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541045,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c35a9c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3c35a9c0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3c35a9c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling 200 28ms","method":"POST","requestID":"3c35a9c0-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3c3a3da0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdada7bbe-7ebc-4fa3-b6be-98ab69bd8915': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdada7bbe-7ebc-4fa3-b6be-98ab69bd8915","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"8cbb5620-4dfc-4be1-859f-a5526f3194c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.5721393} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6726c115-8d59-4e35-a0f4-701f97e57137","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.5723476} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"300a0169b71664465809e3c54c51079d","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c663131-1909-4878-a020-479d3b84ef7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b8c547a-d648-47fa-bcd3-edc764457316","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.574446} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508763,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3c3a3da0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3c3a3da0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3c3a3da0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling 200 8ms","method":"POST","requestID":"3c3a3da0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/1c663131-1909-4878-a020-479d3b84ef7a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915","requestID":"300a0169b71664465809e3c54c51079d"} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.232","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"300a0169b71664465809e3c54c51079d"} experiment-1 | {"level":"info","message":"DELETE /experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915 204 229ms","method":"DELETE","requestID":"300a0169b71664465809e3c54c51079d","responseTime":229,"status":204,"url":"/experiments/dada7bbe-7ebc-4fa3-b6be-98ab69bd8915"} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.828","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7c7503370a93507b9acf9f8717a1540d"} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.792","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"91cff7a5dcd8be562f24d9d7d6d779af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"af5823fe085a6fc03d279da638af559f","responseTime":182,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a4036c1f-9a76-4b3e-924b-d9ffccd1d138' closed"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.186","http_referrer":"","http_user_agent":"node-fetch","requestID":"af5823fe085a6fc03d279da638af559f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"c6887cee09052b545b63bd0cb90571ec","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6887cee09052b545b63bd0cb90571ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I","level":"info","message":"auth send jwt","requestID":"635247e665b866e3ae7df22b41464ed3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"635247e665b866e3ae7df22b41464ed3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"635247e665b866e3ae7df22b41464ed3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1c663131-1909-4878-a020-479d3b84ef7a' closed"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.859336,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"635247e665b866e3ae7df22b41464ed3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914152,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5002de5e-ca8c-4aee-b3b0-68bc876cb899","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.7128012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b39343a-9c27-40c1-82b9-ed91f98c13c9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.718103} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"d4e8b10a-8667-47e8-a456-c614badb4058","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.7530634} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1def8c2-f5dc-422b-ab2c-b49e9d358447","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.753258} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"bd4aa654-226c-49c0-aff8-6df353fd7d04","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.757746} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"635247e665b866e3ae7df22b41464ed3"} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"635247e665b866e3ae7df22b41464ed3"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"635247e665b866e3ae7df22b41464ed3","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I","level":"info","message":"auth send jwt","requestID":"fe4ac09b5e86364c5213819e6aff71d0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe4ac09b5e86364c5213819e6aff71d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fe4ac09b5e86364c5213819e6aff71d0"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.919078,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fe4ac09b5e86364c5213819e6aff71d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914152,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Mn0.aF2oOM-EXfl8XNpgcBsgU6tK0vgQKCw7BMkgRYe-92I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41d00dcf-a3cc-469f-a8a3-90c3c2eba87f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.7798412} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69123aca-43d7-4266-80f0-b24d38b55df4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.8088741} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"733bf259-18be-4901-88cc-3c05c0e86f82","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.8194137} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb9c0c9b-57d9-47ab-b255-03e2a328d700","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.819624} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"6b037c42-9142-4c4a-873c-193dd81820f9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914152.82419} gateway-1 | {"time_local":"29/Apr/2025:08:09:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe4ac09b5e86364c5213819e6aff71d0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fe4ac09b5e86364c5213819e6aff71d0"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"fe4ac09b5e86364c5213819e6aff71d0","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"be90ef7e62b2f2ead69209143fdd3063"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be90ef7e62b2f2ead69209143fdd3063","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"be90ef7e62b2f2ead69209143fdd3063"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"6cae795ec9f8cf2be87168149b2d4c99"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cae795ec9f8cf2be87168149b2d4c99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6cae795ec9f8cf2be87168149b2d4c99"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683013,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"be90ef7e62b2f2ead69209143fdd3063","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"be90ef7e62b2f2ead69209143fdd3063","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60769,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6cae795ec9f8cf2be87168149b2d4c99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6cae795ec9f8cf2be87168149b2d4c99","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"e7b8f850-6d3e-40a8-9a28-d313ae210ec8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.7352068} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"be90ef7e62b2f2ead69209143fdd3063","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"be0225fb-0c0a-41d6-b58a-c5c34a4f1771","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.736406} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"6cae795ec9f8cf2be87168149b2d4c99","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3aa6bc3-3948-466a-bf10-5c8d870f3f2a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.7660334} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"be90ef7e62b2f2ead69209143fdd3063","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bd36a45-1769-46dc-ab6f-2d8ce64d90c2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.7673075} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6cae795ec9f8cf2be87168149b2d4c99","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"c116c0be-16a2-44af-bcc8-e77cf2eee6d1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.770936} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6cae795ec9f8cf2be87168149b2d4c99","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6cae795ec9f8cf2be87168149b2d4c99"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/578f2783-73d2-4400-9893-693ad92f7b41 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6cae795ec9f8cf2be87168149b2d4c99"} device-1 | {"level":"info","message":"PATCH /devices/578f2783-73d2-4400-9893-693ad92f7b41 200 46ms","method":"PATCH","requestID":"6cae795ec9f8cf2be87168149b2d4c99","responseTime":46,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623279,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ce49e50f2f5f7247461fd7c70e3a47bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"9c7f292f-54d2-4714-804e-b084fc5d18aa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.7797883} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be90ef7e62b2f2ead69209143fdd3063","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"be90ef7e62b2f2ead69209143fdd3063"} device-1 | {"level":"info","message":"PATCH /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b 200 57ms","method":"PATCH","requestID":"be90ef7e62b2f2ead69209143fdd3063","responseTime":57,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"be90ef7e62b2f2ead69209143fdd3063"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7181,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ebbbb8f81158c62cccd3406ae86e1fd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/websocket 200 40ms","method":"POST","requestID":"ce49e50f2f5f7247461fd7c70e3a47bc","responseTime":40,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/websocket 200 12ms","method":"POST","requestID":"ebbbb8f81158c62cccd3406ae86e1fd3","responseTime":12,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"258673085bc8ac05c42c1bedddd18b34"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"258673085bc8ac05c42c1bedddd18b34","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"258673085bc8ac05c42c1bedddd18b34"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67812,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"258673085bc8ac05c42c1bedddd18b34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"258673085bc8ac05c42c1bedddd18b34","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"9450378e-a8c4-4fc7-aa61-af549ea384c2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.8609962} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"258673085bc8ac05c42c1bedddd18b34","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"258673085bc8ac05c42c1bedddd18b34"} device-1 | {"level":"info","message":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? 200 32ms","method":"GET","requestID":"258673085bc8ac05c42c1bedddd18b34","responseTime":32,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"258673085bc8ac05c42c1bedddd18b34"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"bf69b837866e236ac2041fa576172a01"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf69b837866e236ac2041fa576172a01","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf69b837866e236ac2041fa576172a01"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663535,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"bf69b837866e236ac2041fa576172a01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bf69b837866e236ac2041fa576172a01","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"a4ffb49c-45da-4f29-b0de-931ffb8895e1","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.8739784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bf69b837866e236ac2041fa576172a01","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf69b837866e236ac2041fa576172a01"} device-1 | {"level":"info","message":"GET /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? 200 8ms","method":"GET","requestID":"bf69b837866e236ac2041fa576172a01","responseTime":8,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf69b837866e236ac2041fa576172a01"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc","level":"info","message":"auth send jwt","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6b29ba297dd24d23717b2117a9ec2cff","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.489718,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6b29ba297dd24d23717b2117a9ec2cff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b29ba297dd24d23717b2117a9ec2cff","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to run experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to book experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully booked experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916504,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740915,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"c3bf7b24-a79d-41b8-9b16-d3c94c40d053","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.9698992} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"dd6b1459-5026-4f29-8ca1-74a7e9fc787f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914153.9717517} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? 200 16ms","method":"GET","requestID":"3d0e5680-24d1-11f0-816e-bfe403da652c","responseTime":16,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? 200 44ms","method":"GET","requestID":"3d0e7d90-24d1-11f0-816e-bfe403da652c","responseTime":44,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Setting up experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully set up experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d1e5c11-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully running experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:50612","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60718,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.485689,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"3a32001b-6334-4e14-9567-6631e451b598","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.0977468} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"5245dc25-6e9c-41cc-8530-718a4be062a3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.0983233} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2df01dc-c288-4e6d-bf2d-6599a98eb4bb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.100076} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512193,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d1e5c11-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","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/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? 200 38ms","method":"GET","requestID":"3d1e5c10-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b?"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"3d1e5c11-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8dc7d625-3849-450f-bc47-611f276b1e51#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8dc7d625-3849-450f-bc47-611f276b1e51","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"2e032ae9-6b23-401f-9029-bb465adf1e49","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.102594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc73bcb6-aebe-4114-9eb5-8b8efa526f64","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1026998} device-1 | {"level":"info","message":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? 200 41ms","method":"GET","requestID":"3d1e0df0-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d247690-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d1e5c11-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling 200 42ms","method":"POST","requestID":"3d1e5c11-24d1-11f0-816e-bfe403da652c","responseTime":42,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93de0225-f546-4268-8789-854a39839d7a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1095197} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d2512d0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.613839,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d247690-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d247690-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d247690-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling 200 8ms","method":"POST","requestID":"3d247690-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"6b29ba297dd24d23717b2117a9ec2cff","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64594a80-63d6-4030-8358-5f5787cbdb15","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1141486} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.670043,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d25fd30-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d2512d0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d2512d0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d2512d0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling 200 10ms","method":"POST","requestID":"3d2512d0-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b411f7c5-25b8-45b8-b987-18876dc39b27","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.119585} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082591,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d25fd30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3d25fd30-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"6b29ba297dd24d23717b2117a9ec2cff","responseTime":241,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.269","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d25fd30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling 200 33ms","method":"POST","requestID":"3d25fd30-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Building connection plan","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} 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":"b8597914-98b8-4c52-a2f7-3707b7aefc4f"},{"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":"57232a55-a971-4052-a0e2-26852fe38c14"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"49664218-a933-41eb-97d9-a595085cd793"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1NH0.2b1nIbM-U3BZ2pOixQgh1_Soh3smP2U7aad_h9kjsJ0","level":"info","message":"auth send jwt","requestID":"11eeeefe3c5376b013480fb7bdef5cd3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11eeeefe3c5376b013480fb7bdef5cd3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"11eeeefe3c5376b013480fb7bdef5cd3"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58706","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.630854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914153,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1M30.ZOBNZg1CXZblTIyyralADtEOWhuMJ_CsBZNOd0hnvwc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788073,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"11eeeefe3c5376b013480fb7bdef5cd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914154,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1NH0.2b1nIbM-U3BZ2pOixQgh1_Soh3smP2U7aad_h9kjsJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11eeeefe3c5376b013480fb7bdef5cd3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.753024403Z"}]},"request_id":"57b0b4a9-5b29-4a0f-873b-2b53f2a2bc72","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1594105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"11eeeefe3c5376b013480fb7bdef5cd3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"11eeeefe3c5376b013480fb7bdef5cd3"} gateway-1 | {"time_local":"29/Apr/2025:08:09:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11eeeefe3c5376b013480fb7bdef5cd3"} device-1 | {"level":"info","message":"GET /devices/578f2783-73d2-4400-9893-693ad92f7b41? 200 11ms","method":"GET","requestID":"11eeeefe3c5376b013480fb7bdef5cd3","responseTime":11,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"f677374d-ab68-4cd9-8396-e72bbef69fd4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.163266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cbcf246-136c-4b36-9f19-258681fa1710","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1635044} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1NH0.2b1nIbM-U3BZ2pOixQgh1_Soh3smP2U7aad_h9kjsJ0","level":"info","message":"auth send jwt","requestID":"a926d721cd084539c59caa7e3ea5d2f6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a926d721cd084539c59caa7e3ea5d2f6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a926d721cd084539c59caa7e3ea5d2f6"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950342,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"a926d721cd084539c59caa7e3ea5d2f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914154,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1NH0.2b1nIbM-U3BZ2pOixQgh1_Soh3smP2U7aad_h9kjsJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a926d721cd084539c59caa7e3ea5d2f6","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:12.819376611Z"}]},"request_id":"2706023e-be18-4e1d-8ec0-941c6dbfd68e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.1979659} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a926d721cd084539c59caa7e3ea5d2f6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5'","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5'","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a926d721cd084539c59caa7e3ea5d2f6"} gateway-1 | {"time_local":"29/Apr/2025:08:09:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a926d721cd084539c59caa7e3ea5d2f6"} device-1 | {"level":"info","message":"GET /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b? 200 36ms","method":"GET","requestID":"a926d721cd084539c59caa7e3ea5d2f6","responseTime":36,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"3d2b7b70-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6b29ba297dd24d23717b2117a9ec2cff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d3abdb0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e53a4e9-1156-4a38-b1cd-118078d683df","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.2550917} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.451726,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d3abdb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","rebac_allow":false,"scope_allow":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":"3d3abdb0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d3abdb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling 200 7ms","method":"POST","requestID":"3d3abdb0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d3c1d40-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9ba086d-3934-45bc-814c-6288642d4f61","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914154.2636409} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.194116,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3d3c1d40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3d3c1d40-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d3c1d40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling 200 31ms","method":"POST","requestID":"3d3c1d40-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling"} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33e0304e35e1191c2a1bbd19280c37a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"33e0304e35e1191c2a1bbd19280c37a6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"}}},"level":"info","message":"received a callback","requestID":"33e0304e35e1191c2a1bbd19280c37a6"} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"33e0304e35e1191c2a1bbd19280c37a6","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"33e0304e35e1191c2a1bbd19280c37a6"} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","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/8ac09318-52da-46c0-bc7e-95f419052bd5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c9087811aab08258808f5cf67cf9e26","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7c9087811aab08258808f5cf67cf9e26","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"}}},"level":"info","message":"received a callback","requestID":"7c9087811aab08258808f5cf67cf9e26"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3e727a60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ac09318-52da-46c0-bc7e-95f419052bd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bbdcf86-df43-45c3-8b9d-383fd2d182c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.297906} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.239638,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e727a60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5","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":"3e727a60-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3e727a60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5 200 7ms","method":"GET","requestID":"3e727a60-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"7c9087811aab08258808f5cf67cf9e26","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c9087811aab08258808f5cf67cf9e26"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e75aeb0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c0ea94f-c79b-4729-82dc-2461714b2f64","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.3195357} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325343,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e75aeb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3e75aeb0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e75aeb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling 200 8ms","method":"POST","requestID":"3e75aeb0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e773550-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92503222-3098-41ca-8b89-b2a42108e2ee","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.3529952} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.409854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e773550-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3e773550-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e773550-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling 200 32ms","method":"POST","requestID":"3e773550-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM","level":"info","message":"auth send jwt","requestID":"ec0607219bfe5d0e9e8b371baca158e5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec0607219bfe5d0e9e8b371baca158e5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8dc7d625-3849-450f-bc47-611f276b1e51","requestID":"ec0607219bfe5d0e9e8b371baca158e5"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.842169,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ec0607219bfe5d0e9e8b371baca158e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914156,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ec0607219bfe5d0e9e8b371baca158e5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8dc7d625-3849-450f-bc47-611f276b1e51","requestID":"ec0607219bfe5d0e9e8b371baca158e5"} experiment-1 | {"level":"info","message":"GET /experiments/8dc7d625-3849-450f-bc47-611f276b1e51 200 29ms","method":"GET","requestID":"ec0607219bfe5d0e9e8b371baca158e5","responseTime":29,"status":200,"url":"/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8dc7d625-3849-450f-bc47-611f276b1e51 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec0607219bfe5d0e9e8b371baca158e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM","level":"info","message":"auth send jwt","requestID":"7a40408145b882b1c1d059934ab2203f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7a40408145b882b1c1d059934ab2203f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8dc7d625-3849-450f-bc47-611f276b1e51","requestID":"7a40408145b882b1c1d059934ab2203f"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.62764,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7a40408145b882b1c1d059934ab2203f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914156,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a40408145b882b1c1d059934ab2203f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Attempting to finish experiment","requestID":"7a40408145b882b1c1d059934ab2203f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3e860260-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.827638,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e860260-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914156,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"3e860260-24d1-11f0-816e-bfe403da652c","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"578f2783-73d2-4400-9893-693ad92f7b41","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e15a8a288f307441c5a2cf26fa885ad1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ac09318-52da-46c0-bc7e-95f419052bd5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ac09318-52da-46c0-bc7e-95f419052bd5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"6492f40b-f352-47a5-a122-de66b4028d37","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.4586735} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e15a8a288f307441c5a2cf26fa885ad1","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef943596-c770-49b5-88e1-dd3f0334b1b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.4588609} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3e860260-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"12b4a0af1807a5b171e2e94393a2fa53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"}}},"level":"info","message":"received a callback","requestID":"e15a8a288f307441c5a2cf26fa885ad1"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"12b4a0af1807a5b171e2e94393a2fa53","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"}}},"level":"info","message":"received a callback","requestID":"12b4a0af1807a5b171e2e94393a2fa53"} device-1 | {"data":{"peerconnection":"8ac09318-52da-46c0-bc7e-95f419052bd5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3e860260-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5 204 79ms","method":"DELETE","requestID":"3e860260-24d1-11f0-816e-bfe403da652c","responseTime":79,"status":204,"url":"/peerconnections/8ac09318-52da-46c0-bc7e-95f419052bd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"},"level":"info","message":"Successfully finished experiment","requestID":"7a40408145b882b1c1d059934ab2203f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e943330-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578f2783-73d2-4400-9893-693ad92f7b41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee9f8402-7b9c-4ae7-8381-87edee63943c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.5196757} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79977,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e943330-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3e943330-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8dc7d625-3849-450f-bc47-611f276b1e51': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8dc7d625-3849-450f-bc47-611f276b1e51","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"df3d5dd2-2e40-4ff7-9aa0-9dec100827ae","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.5495539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e577573e-3ecd-4b4d-bdfd-3650f3efd484","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.5497475} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e943330-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling 200 36ms","method":"POST","requestID":"3e943330-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/578f2783-73d2-4400-9893-693ad92f7b41/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"7a40408145b882b1c1d059934ab2203f","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e99ff90-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e28dcd56-b89d-4cb3-9ba5-d63e15a54a96","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.5578108} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.875478,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3e99ff90-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3e99ff90-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e99ff90-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling 200 10ms","method":"POST","requestID":"3e99ff90-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8dc7d625-3849-450f-bc47-611f276b1e51","requestID":"7a40408145b882b1c1d059934ab2203f"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8dc7d625-3849-450f-bc47-611f276b1e51 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a40408145b882b1c1d059934ab2203f"} experiment-1 | {"level":"info","message":"DELETE /experiments/8dc7d625-3849-450f-bc47-611f276b1e51 204 238ms","method":"DELETE","requestID":"7a40408145b882b1c1d059934ab2203f","responseTime":238,"status":204,"url":"/experiments/8dc7d625-3849-450f-bc47-611f276b1e51"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.833","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ce8cd050fd9920f42ac88e562b9bac7b"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.826","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0c2eb39e2511834746e6d15b62f9c827"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"e15a8a288f307441c5a2cf26fa885ad1","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"e15a8a288f307441c5a2cf26fa885ad1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"12b4a0af1807a5b171e2e94393a2fa53","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"12b4a0af1807a5b171e2e94393a2fa53"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/578f2783-73d2-4400-9893-693ad92f7b41' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM","level":"info","message":"auth send jwt","requestID":"ad7e61218863b9dc31c1b824a27f994b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ad7e61218863b9dc31c1b824a27f994b"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/64e7d0f9-c832-4313-a0d6-eea9cecfbd0b' closed"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.93458,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ad7e61218863b9dc31c1b824a27f994b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914156,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ecc2ab6-daa2-4224-b83a-2f23ce6ffd05","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.6976793} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b2e0cb8-d331-4055-a1ef-0eb1cb2c00fa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7018278} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"5ab6d692-9c04-4176-84ac-127b18b93e70","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7157404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bce47c74-35a6-4c4b-9dd1-2a33b778c7b2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7159455} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.715705436Z"}]},"request_id":"c74e4a56-3d8a-400d-890f-d9a4d93ff3d3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7407148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ad7e61218863b9dc31c1b824a27f994b"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad7e61218863b9dc31c1b824a27f994b"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"ad7e61218863b9dc31c1b824a27f994b","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM","level":"info","message":"auth send jwt","requestID":"65242124acce11795865acd21296035b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65242124acce11795865acd21296035b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65242124acce11795865acd21296035b"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764994,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"65242124acce11795865acd21296035b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914156,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1Nn0.PxHxJX8uo4nLsNBp4hUWQxnLVL3tfL0Du09wyQqkyNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65242124acce11795865acd21296035b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77bfdaf0-6408-4324-8e15-7a5d00314c0e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7885475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65242124acce11795865acd21296035b","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fc6e58a-017e-4bc8-be97-613faf67e6f9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.7932804} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"65242124acce11795865acd21296035b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"bda72960-38d7-42f1-a780-8ce97eb6ae92","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.8035996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ed586b1-da10-460e-8b68-743b90a6679c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.8039126} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"65242124acce11795865acd21296035b","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.803329961Z"}]},"request_id":"33cf6c6c-8f0e-41b1-a560-4a7c0d633477","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914156.833138} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"65242124acce11795865acd21296035b","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65242124acce11795865acd21296035b"} gateway-1 | {"time_local":"29/Apr/2025:08:09:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65242124acce11795865acd21296035b"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"65242124acce11795865acd21296035b","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7caef5efa94191258877e9d4282addeb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7caef5efa94191258877e9d4282addeb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/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":"7caef5efa94191258877e9d4282addeb"} device-1 | {"level":"info","message":"OPTIONS /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/websocket 200 1ms","method":"OPTIONS","requestID":"7caef5efa94191258877e9d4282addeb","responseTime":1,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f212727c913edc75eb539b22ebd284b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f212727c913edc75eb539b22ebd284b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/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":"1f212727c913edc75eb539b22ebd284b"} device-1 | {"level":"info","message":"OPTIONS /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/websocket 200 0ms","method":"OPTIONS","requestID":"1f212727c913edc75eb539b22ebd284b","responseTime":0,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"fa1863de23711dde024eeaa35c11bbbd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa1863de23711dde024eeaa35c11bbbd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fa1863de23711dde024eeaa35c11bbbd"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"cb226bd35a9a929a744e5804fb12cecc"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900941,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb226bd35a9a929a744e5804fb12cecc","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fa1863de23711dde024eeaa35c11bbbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cb226bd35a9a929a744e5804fb12cecc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa1863de23711dde024eeaa35c11bbbd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.38691,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"cb226bd35a9a929a744e5804fb12cecc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cb226bd35a9a929a744e5804fb12cecc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fa1863de23711dde024eeaa35c11bbbd"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/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":"fa1863de23711dde024eeaa35c11bbbd"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/websocket 200 21ms","method":"POST","requestID":"fa1863de23711dde024eeaa35c11bbbd","responseTime":21,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cb226bd35a9a929a744e5804fb12cecc"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/websocket 200 28ms","method":"POST","requestID":"cb226bd35a9a929a744e5804fb12cecc","responseTime":28,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/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":"cb226bd35a9a929a744e5804fb12cecc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"b3a2d52f6632e4ceedeb25df3c455df1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3a2d52f6632e4ceedeb25df3c455df1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3a2d52f6632e4ceedeb25df3c455df1"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643776,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b3a2d52f6632e4ceedeb25df3c455df1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3a2d52f6632e4ceedeb25df3c455df1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.715705436Z"}]},"request_id":"a18e8fd4-59a8-44ce-b2f3-27821a51ad64","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.1963706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b3a2d52f6632e4ceedeb25df3c455df1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3a2d52f6632e4ceedeb25df3c455df1"} device-1 | {"level":"info","message":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? 200 9ms","method":"GET","requestID":"b3a2d52f6632e4ceedeb25df3c455df1","responseTime":9,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3a2d52f6632e4ceedeb25df3c455df1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"ac232e28c19f23bae4193b8f4f904e84"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac232e28c19f23bae4193b8f4f904e84","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac232e28c19f23bae4193b8f4f904e84"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646834,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"ac232e28c19f23bae4193b8f4f904e84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ac232e28c19f23bae4193b8f4f904e84","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.803329961Z"}]},"request_id":"fdd3323b-258c-47e8-98d7-b610fc7f3dc2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.2106934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ac232e28c19f23bae4193b8f4f904e84","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac232e28c19f23bae4193b8f4f904e84"} device-1 | {"level":"info","message":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? 200 10ms","method":"GET","requestID":"ac232e28c19f23bae4193b8f4f904e84","responseTime":10,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac232e28c19f23bae4193b8f4f904e84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0fb78a015a39eaf75b8f4b18b9d56591","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.655029,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"0fb78a015a39eaf75b8f4b18b9d56591","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0fb78a015a39eaf75b8f4b18b9d56591","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to run experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to book experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully booked experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4035ae30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4035d540-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083626,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4035ae30-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"4035ae30-24d1-11f0-816e-bfe403da652c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668883,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4035d540-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"4035d540-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.715705436Z"}]},"request_id":"8c8ff2e8-1a4e-45b4-8e7c-ead0bc62c40c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.2656543} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4035ae30-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.803329961Z"}]},"request_id":"26e63719-13ad-4544-9538-e82cd901769b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.2692356} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"4035d540-24d1-11f0-816e-bfe403da652c","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4035ae30-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? 200 29ms","method":"GET","requestID":"4035ae30-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4035d540-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? 200 29ms","method":"GET","requestID":"4035d540-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Setting up experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully set up experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40440610-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40442d20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40447b40-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully running experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726096,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.575055,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40440610-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"40440610-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40442d20-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"40442d20-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09: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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.803329961Z"}]},"request_id":"659d2427-f522-4e1c-bb7d-d4d0826be6c9","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3787284} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b97814f6-b03a-417f-8643-2083b8c1bf45","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3789668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"40442d20-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.715705436Z"}]},"request_id":"469ba161-4a9b-4b64-9cf7-d7d5279ded66","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.379866} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.592425,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40447b40-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"40447b40-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"40440610-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40442d20-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? 200 38ms","method":"GET","requestID":"40442d20-24d1-11f0-816e-bfe403da652c","responseTime":38,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40447b40-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling 200 37ms","method":"POST","requestID":"40447b40-24d1-11f0-816e-bfe403da652c","responseTime":37,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40440610-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? 200 41ms","method":"GET","requestID":"40440610-24d1-11f0-816e-bfe403da652c","responseTime":41,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"404a6eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"404a95c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F41dcb3dc-c939-49ee-aa55-c4a61b22ba1b#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"4acbde09-0ee5-4ad9-9d65-6738621ee898","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3893852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4362460c-5fac-431c-94a7-337863721663","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3895872} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"0fb78a015a39eaf75b8f4b18b9d56591","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8026572-27fc-4e1a-a95a-fd39d5d14db6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3927784} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf3aa4a4-8679-40a8-9850-1dc8fcb73585","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.3936253} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.54538,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470698,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"404a6eb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","rebac_allow":false,"scope_allow":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":"404a6eb0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"404a95c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"404a95c0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"0fb78a015a39eaf75b8f4b18b9d56591","responseTime":180,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"404a6eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling 200 13ms","method":"POST","requestID":"404a6eb0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"404a95c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling 200 12ms","method":"POST","requestID":"404a95c0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"827277c403c50480ec5f89d3ea5f3602"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"827277c403c50480ec5f89d3ea5f3602","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40506220-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"827277c403c50480ec5f89d3ea5f3602"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599982,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"827277c403c50480ec5f89d3ea5f3602","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"827277c403c50480ec5f89d3ea5f3602","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fd1c805-0b12-4c27-a7d6-a31243b6af8c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.4304926} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615282,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40506220-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"40506220-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.715705436Z"}]},"request_id":"5bda4a19-d420-4b0f-a434-14a70183fb88","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.4335716} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40506220-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling 200 8ms","method":"POST","requestID":"40506220-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"827277c403c50480ec5f89d3ea5f3602","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Building connection plan","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cf46d34d-8929-4606-856b-261b8765aad7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c0108b18-2bfd-4bc4-8485-b9cda2e3b73b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"19fa0999-2c2e-4c99-9aa4-21c4ac119260"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"827277c403c50480ec5f89d3ea5f3602"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"827277c403c50480ec5f89d3ea5f3602"} device-1 | {"level":"info","message":"GET /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc? 200 9ms","method":"GET","requestID":"827277c403c50480ec5f89d3ea5f3602","responseTime":9,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.662353,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"18cab62ffe68bb0209aab7b4fceb23c4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"18cab62ffe68bb0209aab7b4fceb23c4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40520fd0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"18cab62ffe68bb0209aab7b4fceb23c4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922457,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"18cab62ffe68bb0209aab7b4fceb23c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"18cab62ffe68bb0209aab7b4fceb23c4","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:16.803329961Z"}]},"request_id":"33cdfb13-cf2b-4014-b349-7bd413a2d3cc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.4466033} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"18cab62ffe68bb0209aab7b4fceb23c4","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"dc0234c9-ff19-449e-b9e9-9cb083065656","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.447363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a568a99-d217-460f-adc1-f0d415e45172","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.447781} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"18cab62ffe68bb0209aab7b4fceb23c4"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18cab62ffe68bb0209aab7b4fceb23c4"} device-1 | {"level":"info","message":"GET /devices/5072fd2d-12c1-4763-8780-dfe92e505f64? 200 34ms","method":"GET","requestID":"18cab62ffe68bb0209aab7b4fceb23c4","responseTime":34,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b'","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b'","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"40520fd0-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0fb78a015a39eaf75b8f4b18b9d56591"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"406040a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"416f9410-468e-47cb-9cf1-71b25146c61c","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.5343323} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341818,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"406040a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","rebac_allow":false,"scope_allow":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":"406040a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"406040a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling 200 8ms","method":"POST","requestID":"406040a0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4061a030-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} device-1 | {"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"525133f3-2c5c-4363-989b-8529dda314f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.5439267} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.428769,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4061a030-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4061a030-24d1-11f0-816e-bfe403da652c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4061a030-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling 200 33ms","method":"POST","requestID":"4061a030-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling"} device-1 | {"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6066011386839622843 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:vs5v\r\na=ice-pwd:YndBQFthpme4ljDod73EDDc8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 64:D5:64:CA:FB:56:EA:E5:E7:B3:A9:AE:34:6C:CF:66:B4:03:79:7D:97:AC:95:94:5F:E2:4B:A3:0E:02:08:BB\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4147529809554668012 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:IxgU\r\na=ice-pwd:SXrR95mQbK4wFySbkrJa9loa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A0:44:DA:22:07:3F:A6:92:C1:3A:7D:09:99:71:E4:76:06:6F:7A:73:B7:B6:3E:4F:99:2D:AD:02:4B:1C:46:C8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:705744780 1 udp 2113937151 4ae39c91-d2d9-4ea7-ba46-9d78d16bb6df.local 37954 typ host generation 0 ufrag IxgU network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","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/5072fd2d-12c1-4763-8780-dfe92e505f64'"} device-1 | {"content":{"candidate":"candidate:3606906941 1 udp 2113937151 227c5ddb-cf85-4641-b218-85a81cfff50b.local 57564 typ host generation 0 ufrag vs5v network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","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/281ca0e7-863c-4dd7-9eaa-5161820adc7b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f3b35924f678c88a46ccc961e6ddfce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f3b35924f678c88a46ccc961e6ddfce","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"}}},"level":"info","message":"received a callback","requestID":"9f3b35924f678c88a46ccc961e6ddfce"} device-1 | {"device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"9f3b35924f678c88a46ccc961e6ddfce","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f3b35924f678c88a46ccc961e6ddfce"} device-1 | {"device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","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/281ca0e7-863c-4dd7-9eaa-5161820adc7b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18f0cc62a87d8d87f9fd1a1033fe7ca0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18f0cc62a87d8d87f9fd1a1033fe7ca0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"}}},"level":"info","message":"received a callback","requestID":"18f0cc62a87d8d87f9fd1a1033fe7ca0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"40780e60-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F281ca0e7-863c-4dd7-9eaa-5161820adc7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"011d5634-df67-4630-9da5-d82e439bb2ee","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.7147424} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.861027,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40780e60-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"40780e60-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"40780e60-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b 200 32ms","method":"GET","requestID":"40780e60-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"5d132b4d564fa313f4c051ee84a592d3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d132b4d564fa313f4c051ee84a592d3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","requestID":"5d132b4d564fa313f4c051ee84a592d3"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.317961,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"5d132b4d564fa313f4c051ee84a592d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d132b4d564fa313f4c051ee84a592d3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"18f0cc62a87d8d87f9fd1a1033fe7ca0","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"18f0cc62a87d8d87f9fd1a1033fe7ca0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"407f6160-24d1-11f0-816e-bfe403da652c"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","requestID":"5d132b4d564fa313f4c051ee84a592d3"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d132b4d564fa313f4c051ee84a592d3"} experiment-1 | {"level":"info","message":"GET /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b 200 35ms","method":"GET","requestID":"5d132b4d564fa313f4c051ee84a592d3","responseTime":35,"status":200,"url":"/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"547b9b72-8eaa-4433-ba7a-42b1a593d2aa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.7625105} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.830547,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"407f6160-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"407f6160-24d1-11f0-816e-bfe403da652c","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"407f6160-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling 200 32ms","method":"POST","requestID":"407f6160-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.816156,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40849180-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Attempting to finish experiment","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20f9b901-5778-48ab-9e9a-4a2b58b799ce","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.775239} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.947087,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"40849180-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"40849180-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.614153,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40849180-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling 200 11ms","method":"POST","requestID":"40849180-24d1-11f0-816e-bfe403da652c","responseTime":11,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","device":"5072fd2d-12c1-4763-8780-dfe92e505f64","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b","device":"01dfe504-6c87-4852-8a7d-144e6fd506dc","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/281ca0e7-863c-4dd7-9eaa-5161820adc7b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F281ca0e7-863c-4dd7-9eaa-5161820adc7b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F281ca0e7-863c-4dd7-9eaa-5161820adc7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"cc9ff989-d088-416d-9db1-f88e33c4300a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.812024} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"91d44c5813230b7d795c7ed8b021bbec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ace83e1-7c98-40e1-a273-bd4a37b97161","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.812219} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91d44c5813230b7d795c7ed8b021bbec","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a51aac908eeb33ee63f8116ecbe437fe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a51aac908eeb33ee63f8116ecbe437fe","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c","responseTime":31,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"}}},"level":"info","message":"received a callback","requestID":"91d44c5813230b7d795c7ed8b021bbec"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"}}},"level":"info","message":"received a callback","requestID":"a51aac908eeb33ee63f8116ecbe437fe"} device-1 | {"data":{"peerconnection":"281ca0e7-863c-4dd7-9eaa-5161820adc7b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b 204 55ms","method":"DELETE","requestID":"4085a2f0-24d1-11f0-816e-bfe403da652c","responseTime":56,"status":204,"url":"/peerconnections/281ca0e7-863c-4dd7-9eaa-5161820adc7b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"},"level":"info","message":"Successfully finished experiment","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"409421e0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5072fd2d-12c1-4763-8780-dfe92e505f64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c07e484e-c96e-47cf-8df6-ae4791c1ae9d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.8734863} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.274473,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"409421e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64","object_type":"device","rebac_allow":false,"scope_allow":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":"409421e0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"409421e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling 200 8ms","method":"POST","requestID":"409421e0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/5072fd2d-12c1-4763-8780-dfe92e505f64/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4095a880-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F41dcb3dc-c939-49ee-aa55-c4a61b22ba1b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"f165ba09-6ba1-46c4-aca2-244bff99794a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.9051027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35839350-2776-4786-ad6f-d515860913c7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.9052193} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01dfe504-6c87-4852-8a7d-144e6fd506dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"142d62e5-e014-42c6-a79d-112382eadadb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.9095824} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.237849,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4095a880-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4095a880-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4095a880-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling 200 33ms","method":"POST","requestID":"4095a880-24d1-11f0-816e-bfe403da652c","responseTime":33,"status":200,"url":"/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b 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":"3efdbc9740f5784844f3f2f4fc7b3ec8"} experiment-1 | {"level":"info","message":"DELETE /experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b 204 195ms","method":"DELETE","requestID":"3efdbc9740f5784844f3f2f4fc7b3ec8","responseTime":195,"status":204,"url":"/experiments/41dcb3dc-c939-49ee-aa55-c4a61b22ba1b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"91d44c5813230b7d795c7ed8b021bbec","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"91d44c5813230b7d795c7ed8b021bbec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k","level":"info","message":"auth send jwt","requestID":"af7198fc3b84dd18464fe2f54de49d65"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af7198fc3b84dd18464fe2f54de49d65","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"a51aac908eeb33ee63f8116ecbe437fe","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"a51aac908eeb33ee63f8116ecbe437fe"} device-1 | {"level":"info","message":"postDevices called","requestID":"af7198fc3b84dd18464fe2f54de49d65"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740266,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:19Z"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"0.797","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0ffe1c39ac93a848f3de03e6e3f54a3c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"af7198fc3b84dd18464fe2f54de49d65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914159,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE1OX0.1tAgh_UvdagePf-XT467C03kNalLSZDLiXzjpmgXc_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.786","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"562552564710ef5b92157ee1e5f548fb"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5072fd2d-12c1-4763-8780-dfe92e505f64' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01dfe504-6c87-4852-8a7d-144e6fd506dc' 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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1ccb1e2-012b-4da9-bd3f-06ae6d8609d3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.9897923} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4167e15b-42ec-497f-a04b-de5f88b7db7a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914159.9942281} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"6903e9f6-52c9-43a5-9b3b-b6512e461364","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0036814} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6839410-5d0e-498c-be2f-4d89f355e804","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0037735} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.003656252Z"}]},"request_id":"066f02bc-cb51-4263-b76f-e737d5081b3e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0068552} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"af7198fc3b84dd18464fe2f54de49d65"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"af7198fc3b84dd18464fe2f54de49d65","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af7198fc3b84dd18464fe2f54de49d65"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2MH0.VuVPyWU-TcwU0BxAVKSgaYR0UEL5gICQt797SqQb5aA","level":"info","message":"auth send jwt","requestID":"4d1a033657a5e6589c0f236cd62b1896"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4d1a033657a5e6589c0f236cd62b1896","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4d1a033657a5e6589c0f236cd62b1896"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.702248,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4d1a033657a5e6589c0f236cd62b1896","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914160,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2MH0.VuVPyWU-TcwU0BxAVKSgaYR0UEL5gICQt797SqQb5aA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"64f8e8c1-6930-4f22-a755-49d8005bc6dc","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0552444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","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:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0af8b665-4c72-4b81-b2c1-bda8831801f6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.058845} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"3565913a-0c1a-430c-9956-d9446567d93d","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0718768} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36902bb3-cc53-477b-a0d0-19c9e5b53241","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0719821} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"3847e3ea-8ac8-4c49-a284-5811a80645a4","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914160.0991423} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4d1a033657a5e6589c0f236cd62b1896"} gateway-1 | {"time_local":"29/Apr/2025:08:09:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d1a033657a5e6589c0f236cd62b1896"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"4d1a033657a5e6589c0f236cd62b1896","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"abcd2140b21a988102ff78efb2906d94","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"abcd2140b21a988102ff78efb2906d94","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/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":"abcd2140b21a988102ff78efb2906d94"} device-1 | {"level":"info","message":"OPTIONS /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/websocket 200 1ms","method":"OPTIONS","requestID":"abcd2140b21a988102ff78efb2906d94","responseTime":1,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg","level":"info","message":"auth send jwt","requestID":"d773fb63ebb3342d041b57d9dc51cfbc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d773fb63ebb3342d041b57d9dc51cfbc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d773fb63ebb3342d041b57d9dc51cfbc"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143924,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"d773fb63ebb3342d041b57d9dc51cfbc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d773fb63ebb3342d041b57d9dc51cfbc","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d773fb63ebb3342d041b57d9dc51cfbc"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/websocket 200 18ms","method":"POST","requestID":"d773fb63ebb3342d041b57d9dc51cfbc","responseTime":18,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/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":"d773fb63ebb3342d041b57d9dc51cfbc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg","level":"info","message":"auth send jwt","requestID":"777e8b9c32590ab2481f38c27620d8c0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"777e8b9c32590ab2481f38c27620d8c0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"777e8b9c32590ab2481f38c27620d8c0"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993469,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"777e8b9c32590ab2481f38c27620d8c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"777e8b9c32590ab2481f38c27620d8c0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"20bf038d-9e96-4466-9035-8caa7de62bef","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.402819} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"777e8b9c32590ab2481f38c27620d8c0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"777e8b9c32590ab2481f38c27620d8c0"} gateway-1 | {"time_local":"29/Apr/2025:08:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"777e8b9c32590ab2481f38c27620d8c0"} device-1 | {"level":"info","message":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? 200 9ms","method":"GET","requestID":"777e8b9c32590ab2481f38c27620d8c0","responseTime":9,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg","level":"info","message":"auth send jwt","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.31929,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to run experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to book experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully booked experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"421f55c0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218351,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836391,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"421f55c0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"421f55c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd830f5f3-3b24-4de7-a18f-d9bf7a2485d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.003656252Z"}]},"request_id":"00171dc4-c5a2-4b4d-8675-01c05f13a4c6","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.467805} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"7da73a32-2e96-4c50-9d71-58e0a2435d58","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.4686034} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"421f55c0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Setting up experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2? 200 14ms","method":"GET","requestID":"421f2eb0-24d1-11f0-816e-bfe403da652c","responseTime":14,"status":200,"url":"/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"421f55c0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? 200 13ms","method":"GET","requestID":"421f55c0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"42274500-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743669,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"42274500-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42274500-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"efa02ea8-5d54-4e12-be1f-f2ef28db7661","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.5606809} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf4f44c7-3613-4083-b9c8-c2dab407b73f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.5609872} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"42274500-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393' to 'http://localhost/callbacks/experiment'","requestID":"42274500-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"42274500-24d1-11f0-816e-bfe403da652c"} authentication-1 | {"level":"info","message":"POST /token 201 35ms","method":"POST","requestID":"422fa970-24d1-11f0-9974-831bb670a820","responseTime":35,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 93ms","method":"POST","requestID":"42274500-24d1-11f0-816e-bfe403da652c","responseTime":93,"status":201,"url":"/devices/d830f5f3-3b24-4de7-a18f-d9bf7a2485d2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully set up experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"423e7680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"423eebb0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785424,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully running experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"423e7680-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"423e7680-24d1-11f0-816e-bfe403da652c","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58716","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":21.045957,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bbfe92a-0bbb-4cae-987e-ec9e2988d50a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.6933239} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.758209,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"423eebb0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"423eebb0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"45a05251-3328-4b35-bc3b-63cbab69440e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.69487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:22.560654188Z"}]},"request_id":"9d16a59c-11c9-47af-befa-01b1615ddd8b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.6970704} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"423e7680-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 17fd4fb1-99a6-414a-b9a6-571dcbdf7393","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 17fd4fb1-99a6-414a-b9a6-571dcbdf7393\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/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"423eebb0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling 404 32ms","method":"POST","requestID":"423eebb0-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":404,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? 200 35ms","method":"GET","requestID":"423ec4a0-24d1-11f0-816e-bfe403da652c","responseTime":35,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"424442e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"423e7680-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393? 200 39ms","method":"GET","requestID":"423e7680-24d1-11f0-816e-bfe403da652c","responseTime":39,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393?"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb99261b0-da51-4b33-8caf-5f851c5b268d#owner@http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb99261b0-da51-4b33-8caf-5f851c5b268d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"b0ad7398-2b42-40bf-a7a6-d95341cb6caa","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.7043269} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9ac18e1-28eb-408e-ac61-d9f0d07c0861","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.7062337} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d821410d-ae68-4636-9230-5fa298974a4a","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914162.706755} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.434977,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"424442e0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"424442e0-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"424442e0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling 200 8ms","method":"POST","requestID":"424442e0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling"} gateway-1 | {"time_local":"29/Apr/2025:08:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.306","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","user":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 303ms","method":"POST","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f","responseTime":303,"status":201,"url":"/experiments?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"981b64caff7ba83155da32fe053f810e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"981b64caff7ba83155da32fe053f810e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:08:09:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/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":"981b64caff7ba83155da32fe053f810e"} device-1 | {"level":"info","message":"OPTIONS /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/websocket 200 1ms","method":"OPTIONS","requestID":"981b64caff7ba83155da32fe053f810e","responseTime":1,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IkNUUHlFa2lCQ2E1X1JSLVRLTGRkUmlkOFQtd0ZsdmVld0cwNjA2WkI0LTFqVzYwbmhoNm8wczdwUkZxWGs3SnRYTUliLVVSZ2U5UkdpWU1pckFzNHh3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NH0.YSE28_uRm9vpn3AemQlWO844Tgv0kWPUDZYB4tmIzqs","level":"info","message":"auth send jwt","requestID":"7ec4b0b8d27e9f4b92204e413370314f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ec4b0b8d27e9f4b92204e413370314f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7ec4b0b8d27e9f4b92204e413370314f"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184962,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"7ec4b0b8d27e9f4b92204e413370314f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","payload":{"admin":true,"edgeToken":"CTPyEkiBCa5_RR-TKLddRid8T-wFlveewG0606ZB4-1jW60nhh6o0s7pRFqXk7JtXMIb-URge9RGiYMirAs4xw","iat":1745914164,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IkNUUHlFa2lCQ2E1X1JSLVRLTGRkUmlkOFQtd0ZsdmVld0cwNjA2WkI0LTFqVzYwbmhoNm8wczdwUkZxWGs3SnRYTUliLVVSZ2U5UkdpWU1pckFzNHh3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NH0.YSE28_uRm9vpn3AemQlWO844Tgv0kWPUDZYB4tmIzqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ec4b0b8d27e9f4b92204e413370314f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7ec4b0b8d27e9f4b92204e413370314f"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/websocket 200 17ms","method":"POST","requestID":"7ec4b0b8d27e9f4b92204e413370314f","responseTime":17,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/websocket"} gateway-1 | {"time_local":"29/Apr/2025:08:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7ec4b0b8d27e9f4b92204e413370314f"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ccc965dab4038083983085c1c50b6c49","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ccc965dab4038083983085c1c50b6c49","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"ccc965dab4038083983085c1c50b6c49"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NX0.rNKfQslEcQeY6KieGORSBljNngvE1kHg0jMV653XmSc","level":"info","message":"auth send jwt","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791222,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914165,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NX0.rNKfQslEcQeY6KieGORSBljNngvE1kHg0jMV653XmSc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:22.560654188Z"}]},"request_id":"b9b499e2-0c17-449a-9234-9112856c379f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914165.0325294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"ccc965dab4038083983085c1c50b6c49","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09: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.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccc965dab4038083983085c1c50b6c49"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3"} device-1 | {"level":"info","message":"GET /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393? 200 12ms","method":"GET","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3","responseTime":12,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393?"} gateway-1 | {"time_local":"29/Apr/2025:08:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdf6d5e14ede67c8b394bd7f0dd0aff3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NX0.rNKfQslEcQeY6KieGORSBljNngvE1kHg0jMV653XmSc","level":"info","message":"auth send jwt","requestID":"134b56e8a407f51014f94b1dd77209d1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"134b56e8a407f51014f94b1dd77209d1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"134b56e8a407f51014f94b1dd77209d1"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.081384,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"134b56e8a407f51014f94b1dd77209d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914165,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2NX0.rNKfQslEcQeY6KieGORSBljNngvE1kHg0jMV653XmSc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"134b56e8a407f51014f94b1dd77209d1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"eb8083d8-7bf2-473b-9ef1-8b0a1f242a7e","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914165.0482256} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"134b56e8a407f51014f94b1dd77209d1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"134b56e8a407f51014f94b1dd77209d1"} gateway-1 | {"time_local":"29/Apr/2025:08:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"134b56e8a407f51014f94b1dd77209d1"} device-1 | {"level":"info","message":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? 200 11ms","method":"GET","requestID":"134b56e8a407f51014f94b1dd77209d1","responseTime":11,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45401dc0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670634,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753406,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"45401dc0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45401dc0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:22.560654188Z"}]},"request_id":"1ef0e653-dea4-4469-893b-0cad97a10ecd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.7157567} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c","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:51628","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"},"timestamp":"2025-04-29T08:09:20.071850028Z"}]},"request_id":"415d84fe-01dd-4df9-9033-0513444b08a8","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.7161794} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45401dc0-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393? 200 12ms","method":"GET","requestID":"453ff6b0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45401dc0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638? 200 12ms","method":"GET","requestID":"45401dc0-24d1-11f0-816e-bfe403da652c","responseTime":12,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"454267b0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9489860c-9e59-471d-851b-f02a61aec2bf","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.729723} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.762903,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"454267b0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"454267b0-24d1-11f0-816e-bfe403da652c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"454267b0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling 200 13ms","method":"POST","requestID":"454267b0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4544b1a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf7fff25-5ed4-4a89-b581-4c34704120cd","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.7452736} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.016698,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4544b1a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","rebac_allow":false,"scope_allow":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":"4544b1a0-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4544b1a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling 200 13ms","method":"POST","requestID":"4544b1a0-24d1-11f0-816e-bfe403da652c","responseTime":13,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Building connection plan","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e4ef84c4-11b9-48df-93ab-16e1aa4928aa"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c5cdd95d-d44d-41cf-8543-81c77b3c93eb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a4e0ce57-6305-4802-94b8-8dd78363bf0f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.762873,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"454722a0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914162,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2Mn0.bfNazGQCgG-mO8PlxC1JXFR04OxPe9mAG_lCQ3gYtVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"454722a0-24d1-11f0-816e-bfe403da652c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","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%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]}},"raw_response":{},"request_id":"f2b99adc-24a8-4af6-9eaf-3d25cacd1c74","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.7635136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fefe9b7-140d-4ee6-a890-a8f35ab0a898","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.7637658} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"454722a0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643'","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643'","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"454722a0-24d1-11f0-816e-bfe403da652c"} 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":"454722a0-24d1-11f0-816e-bfe403da652c","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":"454722a0-24d1-11f0-816e-bfe403da652c"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b80f0b92dfb5894e9bcacd2ecabb5d2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"454eead0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f54ece07-3dbf-401c-9817-d8a76fa9aef2","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.8094358} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.301188,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"454eead0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","rebac_allow":false,"scope_allow":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":"454eead0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"454eead0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling 200 7ms","method":"POST","requestID":"454eead0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45507170-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} device-1 | {"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fff7b96b-9e81-4ec6-99ab-837adb5a8286","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.8192432} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.858673,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"45507170-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45507170-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45507170-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling 200 8ms","method":"POST","requestID":"45507170-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling"} device-1 | {"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5150757546456422041 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:zfh9\r\na=ice-pwd:/HbeW9mMnYxZazPw8TiXB6qg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 31:19:3F:2C:A9:FA:2B:E5:03:20:93:EC:66:E1:77:40:2E:A5:D9:4D:12:77:06:41:CA:0F:BB:EB:9E:20:09:35\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6906005400524248589 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:WVua\r\na=ice-pwd:vWPeMrJfSiWgMpPPNxL4rOHr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9A:A8:B8:0F:E8:15:1E:D8:A7:F9:BB:AE:A0:08:EF:8E:18:79:AA:12:9F:9A:4F:C8:E1:27:E9:44:76:62:F6:EE\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4393952 1 udp 2113937151 385f8e99-860f-463d-a323-7f62e8c259d6.local 56618 typ host generation 0 ufrag WVua network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","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/17fd4fb1-99a6-414a-b9a6-571dcbdf7393'"} device-1 | {"content":{"candidate":"candidate:3064037089 1 udp 2113937151 2b2d8fcd-4ebb-458d-b93a-6dc0b3256d39.local 47161 typ host generation 0 ufrag zfh9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","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/b51bdb6e-593a-4234-8dc2-542f45f7a643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"971297fcf53c1277fc6951fa3b99a838","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"971297fcf53c1277fc6951fa3b99a838","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"}}},"level":"info","message":"received a callback","requestID":"971297fcf53c1277fc6951fa3b99a838"} device-1 | {"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","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":"971297fcf53c1277fc6951fa3b99a838","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"971297fcf53c1277fc6951fa3b99a838"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","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/b51bdb6e-593a-4234-8dc2-542f45f7a643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"092bb70aa5e9b799ec1b72dac5fccd61","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"092bb70aa5e9b799ec1b72dac5fccd61","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"}}},"level":"info","message":"received a callback","requestID":"092bb70aa5e9b799ec1b72dac5fccd61"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4562c0f0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb51bdb6e-593a-4234-8dc2-542f45f7a643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc11e1fd-a0f8-43aa-ac22-9c045cad128b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.9390702} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.120231,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4562c0f0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","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":"4562c0f0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4562c0f0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"GET /peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643 200 7ms","method":"GET","requestID":"4562c0f0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"092bb70aa5e9b799ec1b72dac5fccd61","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"092bb70aa5e9b799ec1b72dac5fccd61"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45699ec0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b9c6e05-f472-4da3-83f7-471ad4b172f7","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914167.9839895} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173747,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"45699ec0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","rebac_allow":false,"scope_allow":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":"45699ec0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2N30.bZqeQmC1XJN3icXF3BXtM8Qq_rVWA4AcB86ht1PIKRM","level":"info","message":"auth send jwt","requestID":"73854772a5dc3138e1fd90b7d3f2664e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73854772a5dc3138e1fd90b7d3f2664e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","requestID":"73854772a5dc3138e1fd90b7d3f2664e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45699ec0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling 200 7ms","method":"POST","requestID":"45699ec0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":200,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"456afe50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"client_addr":"127.0.0.1:59698","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.903564,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"73854772a5dc3138e1fd90b7d3f2664e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914167,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2N30.bZqeQmC1XJN3icXF3BXtM8Qq_rVWA4AcB86ht1PIKRM"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","requestID":"73854772a5dc3138e1fd90b7d3f2664e"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"73854772a5dc3138e1fd90b7d3f2664e","responseTime":27,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73854772a5dc3138e1fd90b7d3f2664e"} experiment-1 | {"level":"info","message":"GET /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d 200 34ms","method":"GET","requestID":"73854772a5dc3138e1fd90b7d3f2664e","responseTime":34,"status":200,"url":"/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06b73e1f-af04-45f8-9440-c21e01292685","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.0220134} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.993666,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"456afe50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"456afe50-24d1-11f0-816e-bfe403da652c","responseTime":32,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2OH0.8HXvIJKSd5_8Mfq-u6P4EUyQXmvaHHGGV95J3lXgS8E","level":"info","message":"auth send jwt","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6fe02ee0a6cf91834a35b73da0be89c7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"456afe50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling 200 36ms","method":"POST","requestID":"456afe50-24d1-11f0-816e-bfe403da652c","responseTime":36,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.673362,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"6fe02ee0a6cf91834a35b73da0be89c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"experiment:http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","object_type":"experiment","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914168,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2OH0.8HXvIJKSd5_8Mfq-u6P4EUyQXmvaHHGGV95J3lXgS8E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6fe02ee0a6cf91834a35b73da0be89c7","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Attempting to finish experiment","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4571b510-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.665935,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4571b510-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"peerconnection:http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914168,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2OH0.8HXvIJKSd5_8Mfq-u6P4EUyQXmvaHHGGV95J3lXgS8E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4571b510-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","device":"17fd4fb1-99a6-414a-b9a6-571dcbdf7393","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643","device":"841b1e95-6047-4d2f-84ba-8b4d9926b638","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/b51bdb6e-593a-4234-8dc2-542f45f7a643' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e5d2a95-d6a0-4395-9a4b-c59ef9812355","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.0698924} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb51bdb6e-593a-4234-8dc2-542f45f7a643': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb51bdb6e-593a-4234-8dc2-542f45f7a643","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"c5823680-c0e6-45f2-82ac-5b4e61df3914","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.070358} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36b42e34e2c6a70d549415b18e56da6d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36b42e34e2c6a70d549415b18e56da6d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27c644d24671e68f40bdfb5189c06a20","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27c644d24671e68f40bdfb5189c06a20","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"4571b510-24d1-11f0-816e-bfe403da652c","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"}}},"level":"info","message":"received a callback","requestID":"36b42e34e2c6a70d549415b18e56da6d"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"}}},"level":"info","message":"received a callback","requestID":"27c644d24671e68f40bdfb5189c06a20"} device-1 | {"data":{"peerconnection":"b51bdb6e-593a-4234-8dc2-542f45f7a643","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4571b510-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643 204 80ms","method":"DELETE","requestID":"4571b510-24d1-11f0-816e-bfe403da652c","responseTime":80,"status":204,"url":"/peerconnections/b51bdb6e-593a-4234-8dc2-542f45f7a643"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"457e1120-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690451,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"457e1120-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","payload":{"admin":true,"edgeToken":"TeajjbE2pV0syMP4pbkNQzu3PQ6YnQ2emcpMOBoD8ewAQqbtlzBW-Pu5CoZi4W-JpMXzeRabVblKgVtBlCC6WQ","iat":1745914168,"sub":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3","subject_alt":"http://localhost/users/f22df7d6-70ee-4a94-925f-e7f7558775a3"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2YyMmRmN2Q2LTcwZWUtNGE5NC05MjVmLWU3Zjc1NTg3NzVhMyIsImVkZ2VUb2tlbiI6IlRlYWpqYkUycFYwc3lNUDRwYmtOUXp1M1BRNlluUTJlbWNwTU9Cb0Q4ZXdBUXFidGx6QlctUHU1Q29aaTRXLUpwTVh6ZVJhYlZibEtnVnRCbENDNldRIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkxNDE2OH0.8HXvIJKSd5_8Mfq-u6P4EUyQXmvaHHGGV95J3lXgS8E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"457e1120-24d1-11f0-816e-bfe403da652c","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"ccd1dbef-29fe-4ca3-b140-2e6cedfc2924","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.1242547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74cfd0ef-43b8-4720-b47c-7e1c872f197f","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.124436} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"457e1120-24d1-11f0-816e-bfe403da652c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"457e1120-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"DELETE /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393 204 20ms","method":"DELETE","requestID":"457e1120-24d1-11f0-816e-bfe403da652c","responseTime":20,"status":204,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"},"level":"info","message":"Successfully finished experiment","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4586eac0-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17fd4fb1-99a6-414a-b9a6-571dcbdf7393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"637264a6-b532-4d35-babe-cb5be29564b3","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.176064} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.181186,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"4586eac0-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393","object_type":"device","rebac_allow":false,"scope_allow":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":"4586eac0-24d1-11f0-816e-bfe403da652c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"4586eac0-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/signaling 404 7ms","method":"POST","requestID":"4586eac0-24d1-11f0-816e-bfe403da652c","responseTime":7,"status":404,"url":"/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393/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":"6fe02ee0a6cf91834a35b73da0be89c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45884a50-24d1-11f0-816e-bfe403da652c"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb99261b0-da51-4b33-8caf-5f851c5b268d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb99261b0-da51-4b33-8caf-5f851c5b268d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Ff22df7d6-70ee-4a94-925f-e7f7558775a3"}]},"store_id":"01JT09B763EF8HN97QY3KR21TC","writes":null},"raw_response":{},"request_id":"f75afd64-3e11-4691-9e42-87e472bb39cb","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.1830049} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"id":"01JT09B77S1NKW535A2PYA3DWT","store_id":"01JT09B763EF8HN97QY3KR21TC"},"raw_response":{"authorization_model":{"id":"01JT09B77S1NKW535A2PYA3DWT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"758af867-cfff-4269-8a3a-c3a1ba1b304b","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.183211} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"6fe02ee0a6cf91834a35b73da0be89c7","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51628","raw_request":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","contextual_tuples":null,"store_id":"01JT09B763EF8HN97QY3KR21TC","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841b1e95-6047-4d2f-84ba-8b4d9926b638","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d57fa11-29d8-4e06-ba8a-0fb5e3199e41","store_id":"01JT09B763EF8HN97QY3KR21TC","subsystem":"openfga","timestamp":1745914168.2110684} authorization-1 | {"client_addr":"127.0.0.1:56964","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.264015,"resp_status":200,"subsystem":"opa","time":"2025-04-29T08:09:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","openfga":{"authorization_model_id":"01JT09B77S1NKW535A2PYA3DWT","store":"01JT09B763EF8HN97QY3KR21TC"},"requestID":"45884a50-24d1-11f0-816e-bfe403da652c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"45884a50-24d1-11f0-816e-bfe403da652c","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45884a50-24d1-11f0-816e-bfe403da652c"} device-1 | {"level":"info","message":"POST /devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling 200 34ms","method":"POST","requestID":"45884a50-24d1-11f0-816e-bfe403da652c","responseTime":34,"status":200,"url":"/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.259","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6fe02ee0a6cf91834a35b73da0be89c7"} experiment-1 | {"level":"info","message":"DELETE /experiments/b99261b0-da51-4b33-8caf-5f851c5b268d 204 257ms","method":"DELETE","requestID":"6fe02ee0a6cf91834a35b73da0be89c7","responseTime":257,"status":204,"url":"/experiments/b99261b0-da51-4b33-8caf-5f851c5b268d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 212ms","method":"POST","requestID":"36b42e34e2c6a70d549415b18e56da6d","responseTime":212,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch","requestID":"36b42e34e2c6a70d549415b18e56da6d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 211ms","method":"POST","requestID":"27c644d24671e68f40bdfb5189c06a20","responseTime":211,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch","requestID":"27c644d24671e68f40bdfb5189c06a20"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2098","request_time":"3.276","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e56da3c389dca0f7a7531d67896c4a4"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2336","request_time":"5.911","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0476ff6281b504102b8af0152fffe402"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/841b1e95-6047-4d2f-84ba-8b4d9926b638' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cca182c0350cd53ec72c140335b4099e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cca182c0350cd53ec72c140335b4099e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/17fd4fb1-99a6-414a-b9a6-571dcbdf7393"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"cca182c0350cd53ec72c140335b4099e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"cca182c0350cd53ec72c140335b4099e","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:08:09:28 +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":"cca182c0350cd53ec72c140335b4099e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"attempting to shutdown gracefully","subsystem":"openfga","timestamp":1745914173.4430075} authorization-1 | {"level":"info","msg":"Shutting down...","subsystem":"opa","time":"2025-04-29T08:09:33Z"} authorization-1 | {"level":"info","msg":"Server shutdown.","subsystem":"opa","time":"2025-04-29T08:09:33Z"} device-1 exited with code 143 authentication-1 exited with code 143 experiment-1 exited with code 143 authorization-1 exited with code 0 federation-1 exited with code 143 gateway-1 exited with code 0